输入不是只执行一次,scanner并没有在循环里面,怎么会一直接收控制端舒服数据的?

来源:2-8 JDBC实战---搭建视图层(上)

慕粉1556379847

2017-04-27 10:22

输入不是只执行一次,scanner并没有在循环里面,怎么会一直接收控制端舒服数据的?

写回答 关注

3回答

  • 风铃飞弦
    2017-04-27 15:23:33

    http://img.mukewang.com/59019a53000121c304820279.jpg

    准确来说应该是Scanner对象只有一个,但接收输入靠的是next()方法。我将代码改成这样之后,必须执行三次输入后,程序才结束。楼上那位说的大概就是那个意思,一直接收控制台数据输入的原因就是scan.next()在死循环中。

    慕粉1556...

    这样说,接收输入靠的是next()方法,那么将程序中while()循环中的ture改成scan.hasnext()时,还怎么进入循环呢?

    2017-04-27 15:41:30

    共 1 条回复 >

  • 风铃飞弦
    2017-04-27 11:13:36

    我刚刚也是这个疑惑,特地去实验了一下,发现创建Scanner变量时并不会等待接受输入,而是在使用scan.next()的时候触发的。http://img.mukewang.com/590161d600012d4703740081.jpg

    慕粉1556...

    就是说,实际上接收输入对象的是scanner.next()

    2017-04-27 13:56:27

    共 1 条回复 >

  • 慕粉1034498546
    2017-04-27 11:10:27

    这个不是scan在运行,是你while循环里面输出的语句一直在执行,输出的语句中包涵接收控制台的功能

JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 856 问题

查看课程

相似问题