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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

老师上课的代码如下:
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



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

7 个回复

倒序浏览
的确,是解决了当前问题,但是还是有弊端存在,如果以后有许多需要人机交互输入数据的地方,不可能总是把字符串,放在前面,基本数据类型放在后面吧.
回复 使用道具 举报
首先给楼主赞一下,不过我还是同意楼上的那位同学的回答
回复 使用道具 举报
看视频的时候老师讲的很明白啊
回复 使用道具 举报
赞一个啊!!!!
回复 使用道具 举报
什么意思啊;
回复 使用道具 举报
结果是一样了,但思想不一样
回复 使用道具 举报
赞一个!善于发现问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马