使用scanner来读取输入语句

Ahm*_*sar 2 java java.util.scanner

我正在编写代码来阅读简单的单词语句,如"一二三",并将每个单词放入一个数组String []标记,我想使用Scanner输入语句,但它只读取第一个单词.当我使用main方法输入语句时效果很好.我能知道我的错误是什么吗?

这是2个代码:

//使用main方法:

public class MyLangyage {
    public static void main(String[] args) {
        String statement = "one two three";
        screen(statement);
    }
    public static void screen(String statement) {
        String token[]= statement.split(" ");

        for (int i = 0; i < token.length; i++) {
            System.out.println(token[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

控制台的结果将是:

一二三

//使用扫描仪:

import java.util.Scanner;

public class MyLangyage {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String statement = scanner.next();
        screen(statement);
    }
    public static void screen(String statement) {
        String token[]= statement.split(" ");

        for (int i = 0; i < token.length; i++) {
            System.out.println(token[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在控制台写:

一二三

然后按回车键结果将是:

Dan*_*n W 7

您正在使用scanner.next()它获取它读取的下一个单词.如果要读取整行然后拆分使用scanner.nextLine()