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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

龙腾虎跃

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 龙腾虎跃 初级黑马   /  2018-3-11 20:52  /  1989 人查看  /  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:52:56
7#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:01
8#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:06
9#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:12
10#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:15
11#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:18
12#
回复 使用道具 举报
gzgd 高级黑马 2018-3-27 14:53:21
13#
回复 使用道具 举报
可以可以
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马