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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

龙腾虎跃

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 龙腾虎跃 初级黑马   /  2018-3-11 20:52  /  1995 人查看  /  26 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

键盘录入的时候经常有同学遇见下面这样的问题public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入一个整数:");
                int a=sc.nextInt();
                System.out.println("请输入一个字符串:");
                String s=sc.nextLine();
               
                System.out.println(a);
                System.out.println(s);
        }

打出来的结果就是
请输入一个整数:
10
请输入一个字符串:
10

这里字符串下面的10是输出结果.
结果我们还没有输入字符串呢?就结束程序了什么鬼......................
这里呢,我来说明说明:  首先我们获取一个整数的时候,键盘录入了一个数据给程序了,
然后我们却忽略了我们按下回车键 会有一个  \r\n   的换行字符串,
这时候我们又获取了键盘录入一个字符串,程序就把\r\n给了 接下来键盘录入的s,
所以呢我们要录入的字符串就被\r\n赋予了;
要如何解决这个问题呢?请听下回分解

26 个回复

正序浏览
可以可以
回复 使用道具 举报
不错不错
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
可以可以
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:21
13#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:18
12#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:15
11#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:12
10#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:06
9#
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马