[英]java Scanner reads one every two values
好的,因此該段代碼應該使用掃描儀(此處稱為讀取器)讀取用戶的輸入並將其寫入文件。 這里的問題是,掃描儀無一例外地讀取每個值……因此,如果用戶輸入“ 1”,“ 2”,“ 3”,“ 4”,則僅輸入“ 2”和“ 4”保存到文件中。 沒有例外。
同樣,有必要寫兩次“退出”來打破循環,這取決於添加的項目數是偶數還是奇數...
為什么會這樣呢? 有任何想法嗎?
while (reader.hasNext()) {
String valor = null;
// We check for a "quit" to stop adding items to the array list..
if (reader.next().equals("quit")){
break;
} else {
valor = reader.next();
fileManaging arxiu = new fileManaging();
fileManaging.createFile(valor);
}
}
更改以下代碼:
if (reader.next().equals("quit")){
break;
} else {
valor = reader.next();
有了這個:
valor = reader.next();
if (valor.equals("quit")){
break;
} else {
通過兩次調用reader.next()
您每次迭代都要消耗掃描儀兩次。
請嘗試:
String valor = reader.next();
if (!valor.equals("quit")) {
fileManaging arxiu = new fileManaging();
fileManaging.createFile(valor);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.