for循环不迭代所有增量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for循环不迭代所有增量相关的知识,希望对你有一定的参考价值。

我正在为uni编写一个实验室任务的程序,代码将使得相当明显的是什么,但是当它要求第一行时,即循环中的第一个1,并且插入一个字符串并按Enter键,它会自动直接跳到循环中的最后一个增量(5)任何想法?

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Scanner;

public class limmerickWriter {
    public static void main(String[] args)throws Exception {

        Scanner limScan = new Scanner(System.in); //scanner to read user input

        System.out.println("please enter the name of the file");

        String fileName; 

        fileName = limScan.next(); //filename for the text file 

        PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(fileName))); //declaring a new file writer

        for (int i = 1; i <= 5; i++) //loop to get 5 seperate lines from the user
        {
            System.out.println("please enter line " + i );

            out.println(limScan.next()); //writes the contents of the scanner to the file

        }
        out.flush();
        out.close();
    }
}
答案

使用scanner.next()读取白色空间时,将其用作默认分隔符。这意味着如果插入的文件名中包含多个以空格分隔的单词,则首先使用连续的next()调用来读取它们。

例如,在使用filename读取scanner.next()时,如果插入:

test ATest BTest CTest DTest ETest

点击Enter,你会看到一个名为test的文件在相关的类路径中创建,包含文本数据ATest BTest CTest DTest ETest

尝试在for循环中使用nextLine()

以上是关于for循环不迭代所有增量的主要内容,如果未能解决你的问题,请参考以下文章

R中的for循环,增量

Vue:增量渲染 v-for?

for循环及break和continue的区别

对于循环和矩阵迭代问题:TypeError:无法读取未定义的属性“0”

如何强制结束 for 循环的迭代(不停止 for 循环)?

使用gcs API时,JS增量未在for循环中更新