第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

鍵盤輸入到整數(shù)java

鍵盤輸入到整數(shù)java

溫溫醬 2021-12-10 16:37:15
我試圖將鍵盤輸入轉(zhuǎn)換為整數(shù),但我的程序不斷崩潰。當(dāng)輸入諸如“k”之類的字符時(shí)它起作用,但當(dāng)我輸入“5”時(shí)它會(huì)崩潰。關(guān)于我做錯(cuò)了什么的任何想法?// Getting an integer value.public static int getInt() {    int numberEntered = 0;    String entry = "";    Scanner keyboard = new Scanner(System.in);    while (!keyboard.hasNextInt()) {        entry = keyboard.next();        System.out.println("That is not an integer.  " + "Please try again.");    }    numberEntered = Integer.parseInt(entry);    System.out.print(numberEntered);    return numberEntered;}輸出:Error given: k That is not an integer. Please try again. 8 Exception in thread "main" java.lang.NumberFormatException: For input string: "k" at   java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)     at java.base/java.lang.Integer.parseInt(Integer.java:652)     at java.base/java.lang.Integer.parseInt(Integer.java:770)     at Program2.getInt(Program2.java:56)     at Program2.problemSelectionMenu(Program2.java:40)     at Program2.main(Program2.java:14) 
查看完整描述

2 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

您檢查以確保輸入具有下一個(gè) int,但是一旦Scanner具有下一個(gè) int,您就永遠(yuǎn)不會(huì)將 int 解析為entry,因此它仍然是錯(cuò)誤的輸入。您需要將int用戶輸入的分配給entry。您只需調(diào)用即可輕松完成此操作nextInt():


while (!keyboard.hasNextInt()) {

    entry = keyboard.next();

    System.out.println("That is not an integer.  " + "Please try again.");

}

numberEntered = keyboard.nextInt();

System.out.print(numberEntered);

return numberEntered;


查看完整回答
反對(duì) 回復(fù) 2021-12-10
?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

當(dāng)您將字符作為輸入提供時(shí),while 循環(huán)條件為真,因此它進(jìn)入 while 循環(huán)并掃描字符和打印字符的值,但是當(dāng)您提供整數(shù)時(shí),while 循環(huán)條件變?yōu)榧俨⑶也粫?huì)進(jìn)入 while 循環(huán). 在 while 循環(huán)之外,您正在解析整數(shù),您不需要這樣做,因?yàn)槟鷮⒄麛?shù)作為輸入。您所要做的就是在 integer.parseInt(entry) 的位置,您必須掃描整數(shù)即 int i =keyboard.nextInt(); 因?yàn)樵?while 循環(huán)條件中,您只檢查您提供的輸入是否為整數(shù)。但是您沒有掃描整數(shù)的輸入。


試試這個(gè)?。?!


int numberEntered = 0;

    String entry = "";

    Scanner keyboard = new Scanner(System.in);


    while (!keyboard.hasNextInt()) {

         entry = keyboard.next();


        System.out.println("That is not an integer.  " +"Please try again.");

    }

    numberEntered = keyboard.nextInt();

    System.out.print(numberEntered);


查看完整回答
反對(duì) 回復(fù) 2021-12-10
  • 2 回答
  • 0 關(guān)注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)