黑马程序员技术交流社区
标题:
学java基础day12.02课的Scanner录入的小问题有悟
[打印本页]
作者:
追忆睡梦已醒
时间:
2016-3-17 15:27
标题:
学java基础day12.02课的Scanner录入的小问题有悟
本帖最后由 追忆睡梦已醒 于 2016-3-17 15:36 编辑
老师上课的代码如下:
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int i = sc.nextInt();
System.out.println("请输入第二个字符串:");
String line2 = sc.nextLine();
System.out.println("i = " + i + ", line2 = " + line2);输出结果如下:
请输入第一个整数:
12
请输入第二个字符串:
i = 12, line2 =
这个输出的结果是有点问题哦!老师也给出了解决的办法(解决方案
* 1,创建两次对象,但是浪费空间
* 2,键盘录入的都是字符串,都用nextLine方法,后面我们会学习讲整数字符串转换成整数的方法)
但是我发现只要把录入int类型的数和String类型的字符串呼唤下位置就可以了。代码如下:
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
String line2 = sc.nextLine();
System.out.println("请输入第二个整数:");
int i = sc.nextInt();
System.out.println("i = " + i + ", line2 = " + line2);
输出结果如下:
请输入第一个字符串:
heima
请输入第二个整数:
123
i = 123, line2 = heima
无意之中的发现,代码没有修改只是调换了下位置,还希望各位技术大牛多多赐教~~~~~~
作者:
monZhang
时间:
2016-3-17 22:37
你真正知道第一种为什么不行,就知道第二种是可以的了,根本不用无意发现。。。
作者:
liangsai
时间:
2016-3-19 19:51
我也不懂,为什么第一种在输入数字后,直接跳过了第二次输入,解决方法是有了,但是原因还是不清楚
作者:
妄想年少轻狂
时间:
2016-3-19 20:20
等我学到这里是我要注意一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2