A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 追忆睡梦已醒 于 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



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

3 个回复

倒序浏览
你真正知道第一种为什么不行,就知道第二种是可以的了,根本不用无意发现。。。
回复 使用道具 举报
我也不懂,为什么第一种在输入数字后,直接跳过了第二次输入,解决方法是有了,但是原因还是不清楚
回复 使用道具 举报
等我学到这里是我要注意一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马