0
這是我的代碼。它是一個簡單的控制檯應用程序,旨在讓我熟悉對象的使用。 `包okei; import java.util.Scanner;while循環執行兩行代碼
公共類主要 {
public static void main(String[] args)
{
Scanner listen = new Scanner(System.in);
Arg dec = new Arg();
String answer = "";
int howmuch;
Boolean a = true;
while(a)
{
System.out.println("Drink, Fill, or Look?");
answer = listen.nextLine();
switch (answer)
{
case "Drink":
System.out.println("How much?");
howmuch = listen.nextInt();
dec.drink(howmuch);
break;
case "Fill":
System.out.println("How much?");
howmuch = listen.nextInt();
dec.fill(howmuch);
break;
case "Look":
System.out.println(dec.look());
break;
case "Quit":
listen.close();
a=false;
break;
}
}
}
} `
這裏是ouptut 飲料,填充,或看? 飲料 多少錢? 飲料,填充或外觀? 飲料,填充,還是看?
爲什麼飲料,填充或查看被執行兩次?
非常感謝您......但這是如何工作的? – CLASSIFIED
它不會執行兩次,它只是在您每次使用Scanner#nextInt之前跳過Scanner#nextLine,這是因爲Scanner#nextInt方法不會消耗您輸入的最後一個換行符,因此該換行符在接下來撥打Scanner#nextLine。這裏是[答案鏈接](http://stackoverflow.com/questions/13102045/skipping-nextline-after-using-next-nextint-or-other-nextfoo-methods) –