【问题标题】:Java: How to check for next ints without going to the next line (Scanner)Java:如何在不转到下一行的情况下检查下一个整数(扫描仪)
【发布时间】:2015-04-16 14:33:00
【问题描述】:

快速 Java 问题:所以我在两条不同的行上有一组整数,但是,我想在不同的场景中考虑它们。

所以我有一个 for 循环,我想继续遍历一个整数列表并将它们添加到一个 ArrayList 中,但我希望它在进入下一行之前停止。

在这种情况下我希望它在 2 点停止:

1 4 2 91 4 0 2
3 5 8 6 9 88

hasNextInt() 停止在 88 而不是 2,就像我希望的那样(这是有道理的)。

所以我的问题是:有没有办法让它在进入下一行之前停止?我尝试了 nextInt() 和 next() ,它们都继续到下一行。

我的代码:

while (scan.hasNextInt())
        {
            if (stop == 'A')
                passengers.put(stop, scan.nextInt() + subtract);
            else 
                passengers.put(stop, passengers.get((char)(stop - 1)) + scan.nextInt() + subtract);
            System.out.println(passengers);
            if (scan.hasNext())
                subtract = scan.nextInt();
            else
                break;
            stop++;
        }

【问题讨论】:

  • 一次消耗一行。在空格上拆分行,将生成的字符串转换为整数。
  • 您是否只想读取单行和第一行??

标签: java line next


【解决方案1】:
  1. while 循环中使用hasNextLine()
  2. 使用nextLine()阅读
  3. 然后根据“空格[s]”拆分值
  4. 将每个值解析为整数
  5. 添加它们。

并且实现 OMG,这比使用nextInt()更快

【讨论】:

  • @Maxitus - 你是厕所 :)
猜你喜欢
  • 2016-05-09
  • 2019-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
相关资源
最近更新 更多