【问题标题】:How to input a specific number of words in java?如何在java中输入特定数量的单词?
【发布时间】:2013-08-11 10:55:14
【问题描述】:

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

输入:包含 K 个英文单词(其中 K

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

我的问题是当用户按下回车键时如何停止输入。有什么想法吗?

【问题讨论】:

  • 你为什么要求用户输入 5000 个单词,而不是向他询问包含这些单词的文件?
  • @Rohit 出于某种原因,我只能说我必须从控制台获取输入
  • 如果您仍然按 Enter,Scanner 是否不会完成命令行输入?
  • 使用scanner.nextLine(),它将包含用户输入的文本,包含所有的单词和标点符号。然后根据需要解析此文本。

标签: java


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你可以使用两个 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.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多