我想弄清楚Scanner类的工作原理。例如,我们有一行:“ 74 89”,我调用方法nextInt(),并且Scanner如何分隔为整数?还是为什么如果我们将“ 74; 89”行传递给nextInt(),为什么它会抛出InputMismatchException-仅在分割符号之间存在差异?
答案 0 :(得分:0)
“ Java Scanner类使用定界符将输入分为令牌,默认情况下,该定界符为空白。它提供了许多读取和解析各种原始值的方法。” -https://www.javatpoint.com/Scanner-class
在您的示例中:
74 89
nextInt()
将读取74
作为下一个整数,因为它是
与下一个记号之间用whitspace隔开。
74;89
nextInt()
不会从中读取任何整数,因为没有空格可以将标记(整数)彼此分开。