0

我应该根据以下规范在java中输入一个字符串数组:

输入:包含 K 个英文单词(其中 K <= 5000)的文本,带有空格和标点符号

我的方法是使用一个字符串数组,每个字符串包含一个单词并java.util.Scanner.next()在循环内使用输入。

我的问题是当用户点击输入时如何停止输入。任何想法?

4

2 回答 2

0

使用Scanner. 阅读用户输入的行。如果用户输入一个空行,则退出循环:

public static void main(String[] args) throws Exception {
    final Scanner scanner = new Scanner(System.in);
    while (true) {
        final String read = scanner.nextLine();
        if ("".equals(read)) {
            break;
        }
        System.out.println(read);
    }
}
于 2013-08-11T11:01:34.840 回答
0

您可以使用两个 Scanner 对象来处理这个问题:

Scanner inScan = new Scanner(System.in);
String line = sinScan.nextLine();
while (line.length() > 0) {
    Scanner lineScan = new Scanner(line);
    while(lineScan.hasNext()) {
        String word = lineScan.next();
        // process this word.
    }
    line = inScan.nextLine();
}
// loop should exit when the user enters a blank line.
于 2013-08-11T11:18:43.213 回答