今天刚开始动手做一个小小的项目就遇到了问题,一开始觉得有点懵,问过老师后才明白些。
看看有问题的代码
System.out.println("请输入学生的年龄:");
Integer stuAge = sc.nextInt();
System.out.println("请输入学生居住的地址:");
String stuAddress = sc.nextLine();
按道理来说,会出现让人输入两次的结果。
结果一运行发现
请输入学生的年龄:
22
请输入学生居住的地址:
新增完成!
当时就有点懵了,怎么被吞掉了一个啊。
但是我如果把原代码的两个输入的位置调换一下,调换成下面的就可以正常输入了
System.out.println("请输入学生居住的地址:");
String stuAddress = sc.nextLine();
System.out.println("请输入学生的年龄:");
Integer stuAge = sc.nextInt();
虽然问题是解决了,但是错误的原因一直让我想知道知道。
后面我问了一下我的老师,她开始说,可以让代码改成下面
System.out.println("请输入学生的年龄:");
Integer stuAge = sc.nextInt();
System.out.println("请输入学生居住的地址:");
String stuAddress = sc.next();
也就是把nextLine()改成next()就也可以正常输入了 ,再结合之前博客http://t.csdn.cn/tHkzs 才知道nextInt只能取数字,回车键取不到,被nextLine直接取到,结束,这就是问题所在。
问题解决了,记录一下。