好的,因此该段代码应该使用扫描仪(此处称为读取器)读取用户的输入并将其写入文件。这里的问题是,扫描仪无一例外地读取每个值……因此,如果用户输入“ 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/

10-09 06:14