输入不是只执行一次,scanner并没有在循环里面,怎么会一直接收控制端舒服数据的?
准确来说应该是Scanner对象只有一个,但接收输入靠的是next()方法。我将代码改成这样之后,必须执行三次输入后,程序才结束。楼上那位说的大概就是那个意思,一直接收控制台数据输入的原因就是scan.next()在死循环中。
我刚刚也是这个疑惑,特地去实验了一下,发现创建Scanner变量时并不会等待接受输入,而是在使用scan.next()的时候触发的。
这个不是scan在运行,是你while循环里面输出的语句一直在执行,输出的语句中包涵接收控制台的功能