【问题标题】:Getting multiple inputs in one line until user press enter在一行中获取多个输入,直到用户按下回车
【发布时间】:2014-11-28 21:12:22
【问题描述】:

我想做的是:

2 (测试用例数)

4 7 8 15 16 (测试用例 1)

这里会输出,比如会打印最大数量

7 97 1 2 9 (测试用例 2)

这里又输出了

在用户按下 Enter 按钮之前,我将在每个测试用例中都有一些语句。我看到了一些类似的问题,但我尝试过的解决方案都没有奏效。

这是我最后尝试的:

Scanner cin = new Scanner(System.in);
int test = Integer.parseInt(cin.nextLine());

for (int k = 0; k < test; k++) {
    while (cin.next() != "\\n") {
        int number = cin.nextInt();
        //do something
    }
    //print output
}

【问题讨论】:

    标签: java java.util.scanner


    【解决方案1】:

    您可以读取整个输入行,然后创建一个新的Scanner 用于从该行读取整数:

    Scanner cin = new Scanner(System.in);
    int test = Integer.parseInt(cin.nextLine());
    
    for (int k = 0; k < test; k++) {
        String line  = cin.nextLine();
        Scanner lineScan = new Scanner(line);
        while (lineScan.hasNextInt()) {
            // print number
            System.out.println(lineScan.nextInt());
        }
        //print output
    }
    

    【讨论】:

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