2
在我的Java程序的一部分中,我爲用戶讀取一系列輸入。(Java)nextLine()在運行時跳過,而以前工作
Scanner in = new Scanner(System.in);
System.out.println();
System.out.print("Enter student name: ");
String nameParameter = in.nextLine();
System.out.print("Enter student number: ");
int studentNoParameter = in.nextInt();
System.out.print("Enter subject: ");
String subjectParameter = in.nextLine();
System.out.print("Enter level: ");
int levelParameter = in.nextInt();
int[] resultsParameter;
resultsParameter = new int[3];
System.out.println("Enter results (0 if not taken yet)...");
System.out.print("First year: ");
resultsParameter[0] = in.nextInt();
System.out.print("Second year: ");
resultsParameter[1] = in.nextInt();
System.out.print("Third year: ");
resultsParameter[2] = in.nextInt();
System.out.println();
程序編譯,但該行:
String subjectParameter = in.nextLine();
後迅速進入主題,在運行時似乎跳過。
而不是我的輸出中的:
進入主題:[用戶輸入]
輸入電平:[用戶輸入]
它出來爲:
進入主題:輸入電平:[用戶輸入]
將以下輸入分配給levelParameter,並且如果輸入的不是整數,則會出現錯誤,因此它似乎代碼行已經被跳過了。
我是一個java新手,我很困惑。儘管如此,我知道這最終會變得非常簡單而愚蠢。預先感謝您的時間。
哦!我懂了。我沒有意識到nextInt和nextLine就是這樣工作的。謝謝。 – HellaWiggly
歡迎:)只需使用一個nextline()即可獲得空行程 – lynnyilu
@ user1089092如果答案令人滿意,這是一個接受答案的好姿態。這給答案者更好的聲譽,並且還會提高你未來獲得答案的機會。 –