好的,因此该段代码应该使用扫描仪(此处称为读取器)读取用户的输入并将其写入文件。这里的问题是,扫描仪无一例外地读取每个值……因此,如果用户输入“ 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);
}
}
最佳答案
您每次调用reader.next()
两次,每次使用扫描仪两次。
请尝试:
String valor = reader.next();
if (!valor.equals("quit")) {
fileManaging arxiu = new fileManaging();
fileManaging.createFile(valor);
}
关于java - Java扫描器每两个值读取一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30735150/