黑马程序员技术交流社区

标题: 这是java基础第十二天的发现 [打印本页]

作者: 追忆睡梦已醒    时间: 2016-3-17 15:49
标题: 这是java基础第十二天的发现
老师上课的代码如下:
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



无意之中的发现,代码没有修改只是调换了下位置,还希望各位技术大牛多多赐教~~~~~~

作者: lvlup200    时间: 2016-3-18 17:14
的确,是解决了当前问题,但是还是有弊端存在,如果以后有许多需要人机交互输入数据的地方,不可能总是把字符串,放在前面,基本数据类型放在后面吧.
作者: flynihao53    时间: 2016-3-19 16:04
首先给楼主赞一下,不过我还是同意楼上的那位同学的回答
作者: hjh987099654    时间: 2016-3-20 12:32
看视频的时候老师讲的很明白啊
作者: Andyhuai    时间: 2016-3-20 12:33
赞一个啊!!!!
作者: 郝志学    时间: 2016-3-23 01:11
什么意思啊;
作者: feng9639    时间: 2016-3-23 09:42
结果是一样了,但思想不一样
作者: guyulei    时间: 2016-3-23 10:31
赞一个!善于发现问题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2