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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

while循環(huán)在輸入值之前首先打印雙精度

while循環(huán)在輸入值之前首先打印雙精度

慕沐林林 2023-07-19 16:31:31
在詢問切換器的輸入之前,字符串 asd 打印雙倍,我現(xiàn)在感到絕望。我希望字符串“asd”只打印一次,但在我的情況下打印兩次,我的猜測是錯誤或循環(huán),抱歉,我是這里的新手,對編程很陌生public class FruitBasket {static String option;static String choice1;static int catcher;static int counter1 = 1;static int counter = 0;static String eater = "e";static Scanner sc = new Scanner(System.in);       static Stack<String> basket = new Stack();static String switcher;public static void main(String[] args) {    catching();}static void catching(){    System.out.println("Catch and eat any of these fruits: " + "'apple', 'orange', 'mango', 'guava'" );    System.out.println("A apple, O orange, M mango, G guava");    System.out.print("How many fruits would you like to catch? ");    catcher = sc.nextInt();    switches();     }     static void switches(){    while(counter1 < catcher)  {    String asd = "Fruit " + counter1 + " of " + catcher + ":";    System.out.print(asd);    switcher = sc.nextLine();         switch (switcher) {            case "a":                basket.push("apple");                counter++;                counter1++;                break;
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經(jīng)驗 獲得超4個贊

這是因為您使用 sc.nextInt() 來獲取用戶的輸入,并且它不會消耗該行,因此當您使用 switcher = sc.nextLine(); 時 它仍然讀取用戶之前輸入的號碼。

您可以在 catcher = sc.nextInt(); 之后添加此內(nèi)容 消耗該行:

    if (sc.hasNextLine()){
        sc.nextLine();
    }

或者您也可以使用:

catcher = Integer.parseInt(sc.nextLine());

將用戶輸入轉(zhuǎn)換為整數(shù)值也將起作用。


查看完整回答
反對 回復 2023-07-19
  • 1 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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