一个java程序,用于拆分带换行符的字符串,并在没有条目的情况下停止?

mqxuamgl  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(183)

这就是我要解决的问题:

我的代码如下:

import java.util.Scanner;

public class LineByLine {

    public static void main(String[] args) {
        while (true) {
            Scanner scanner = new Scanner(System.in);
            String sentence = String.valueOf(scanner.nextLine());
            String[] pieces = sentence.split(" ");

            for (int i = 0; i < pieces.length; i++) {
                System.out.println(pieces[i]);
            }
            if (sentence.equals("")) {
                break;
            }
        }
    }
}

我的代码显示为错误,我不知道为什么。有什么解释吗?

sauutmhj

sauutmhj1#

您应该将代码安排为:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    while (true) { 
        String sentence = String.valueOf(scanner.nextLine());
        String[] pieces = sentence.split(" ");

        for (int i = 0; i < pieces.length; i++) {
            System.out.println(pieces[i]);
        } 
        if (sentence.equals("")) {
            break;
        }
   }
   scanner.close();
}

也可以使用hasnext方法而不是 while(true) 零件:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    while (scanner.hasNext()) { 
        String sentence = scanner.nextLine();
        String[] pieces = sentence.split(" ");

        for (int i = 0; i < pieces.length; i++) {
            System.out.println(pieces[i]);
        } 
   }
   scanner.close();
}
yizd12fk

yizd12fk2#

你需要把

Scanner scanner = new Scanner(System.in);

外面的 while 循环。

相关问题