java扫描器每两个值读取一个

java扫描器每两个值读取一个,java,Java,好的,这段代码应该是使用扫描器(这里称为reader)从用户那里读取输入,然后将其写入文件。这里的问题是,扫描器正在读取,没有例外,只有一个到每个值。。。因此,如果用户输入“1”、“2”、“3”、“4”,则仅将“2”和“4”保存到文件中。 没有例外 另外,根据添加的项目数是偶数还是奇数,有必要写两次“quit”来打破循环 为什么会这样?有什么想法吗 while (reader.hasNext()) { String valor = null; /

好的,这段代码应该是使用扫描器(这里称为reader)从用户那里读取输入,然后将其写入文件。这里的问题是,扫描器正在读取,没有例外,只有一个到每个值。。。因此,如果用户输入“1”、“2”、“3”、“4”,则仅将“2”和“4”保存到文件中。 没有例外

另外,根据添加的项目数是偶数还是奇数,有必要写两次“quit”来打破循环

为什么会这样?有什么想法吗

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);
}

通过调用
reader.next()
两次,每次迭代使用扫描仪两次

请尝试:

String valor = reader.next();
if (!valor.equals("quit")) {
    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 {
更改以下代码:

if (reader.next().equals("quit")){
            break;
        } else {

valor = reader.next();
为此:

valor = reader.next();
if (valor.equals("quit")){
            break;
        } else {