1
如下面的代碼是如何工作很困惑:當main方法調用方法時,方法是否執行從上到下?
static Scanner sc = new Scanner(System.in);
public static int GetAnInteger()
{
while (!sc.hasNextInt())
{
sc.nextLine();
System.out.print("That's not "
+ "an integer. Try again: ");
}
return sc.nextInt();
}
我明白.hasNextInt()記錄的值,並作爲一個布爾值,以測試它是否是一個int類型。 .nextLine()記錄下一行,但它如何調試循環?
另外,當我執行代碼,是不是系統應該打印語句後,我輸入到.nextLine()?
不知道sc是什麼類,這是很難解釋,雖然我可以猜測。你能否更新這個問題來澄清這個帖子? – Prisoner
以調用它們的順序調用方法;不一定是自上而下。 –
如果你立即輸入一個'int',循環將被有效地跳過。 –