-2
所以,這似乎相當簡單的代碼。但是當我運行這個,它給了我奇怪的輸出。 首先,我將queries[] Array
的元素數存儲在NumQ
變量中。然後,我通過從0到numQ-1循環來存儲元素的值。它適用於任何其他情況。爲什麼這個JAVA代碼不能按預期工作?
int numQ=sc.nextInt();
String queries[]=new String[numQ];
for(int i=0;i<numQ;i++){
queries[i]=sc.nextLine();
}
System.out.println(queries[0]);
System.out.println(queries[1]);
System.out.println(queries[2]);
在我的情況下,輸入如下─(請注意,它甚至沒有在指數2.numQ是3要求的值)
這裏是輸出。
見,在queries[0]
,它存儲空白值(藍色選擇爲空白)。在queries[ 1 ]
,它存儲所述第一輸入端(它是要存儲在索引0.And它存儲索引1值在索引2等等。)
那麼我的代碼有什麼問題。 在此先感謝:-)
當使用nextInt'和'nextLine'的'組合,提防仍然有一個需要處理的緩衝區(即新線)的內容。也許使用'nextLine'並在結果上使用另一個'Scanner'來獲得'numQ' – MadProgrammer
我沒有注意到它是與掃描儀相關的問題。並且從未發現它是重複的 – LalaByte
如果您輸入4 5,則按Enter鍵,有用。它正在拾取輸入值,空白並放入。 –