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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fighting2016 中级黑马   /  2016-4-3 19:18  /  16062 人查看  /  44 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数");
int x = sc.nextInt();
System.out.println("请输入一个字符串");
String line = sc.nextLine();
System.out.println("x = " + x + ",line = " + line);

输出结果为:
        请输入一个数
        1
        请输入一个字符串        
        x = 1,line =

为什么中间的String line = sc.nextLine();一句没有执行呢?

44 个回复

正序浏览
好简单哦。早知道我来解答好了。
回复 使用道具 举报
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数");
int x = sc.nextInt();
System.out.println("请输入一个字符串");
sc.nextLine();//加入一行,接受转义字符
String line = sc.nextLine();
System.out.println("x = " + x + ",line = " + line);
回复 使用道具 举报
又涨知识了
回复 使用道具 举报
兵蜂 发表于 2016-4-8 23:31
是不是在程序执行时,多敲了一次"Enter"键呀,老兄


没啊,全程只一次enter啊
回复 使用道具 举报
是不是在程序执行时,多敲了一次"Enter"键呀,老兄
回复 使用道具 举报
因为nextLine()读到 \r\n就会认为已经到达末尾,结束方法了,遇到前边输入整数是的\r\n就会停止,所以会出现问题
回复 使用道具 举报
在new一次,当你敲回车时,已经结束了
回复 使用道具 举报
不明觉厉,慢慢就会懂的
回复 使用道具 举报
string line = sc。next line   遇到/r/n  就结束了
回复 使用道具 举报
nextline读到了回车
回复 使用道具 举报
Sun. 来自手机 中级黑马 2016-4-7 01:23:46
34#
解决方法有两个
1,再创建一个键盘录入对象用于接受string字符串,不过这样的话浪费内存空间
2,都用nextline接收,然后再将字符串转换为int类型,一般都用这种方法
回复 使用道具 举报
15614014298 来自手机 中级黑马 2016-4-6 11:05:44
33#
nextInt()接收的数据类型是整型,以回车键结束(\r\n),需主要类型是否相符和上下限的问题,否则会有异常。
nextLine()接受的数据类型是字符串,以回车键结束(\r\n)。
回复 使用道具 举报
caoshengwei 来自手机 中级黑马 2016-4-6 00:35:36
32#
前面是读取int型数据,后面是读字符串数据
回复 使用道具 举报
哥们,这句有再执行的。只不过是系统执行后导入到内存里去的
回复 使用道具 举报
程序把回车当做了字符串,赋给了line,打印的结果就是什么也看不到
回复 使用道具 举报
路虎....................
回复 使用道具 举报
nextLine()读到 \r\n就会认为已经到达末尾,结束方法了.
可以创建两个scanner对象或者都存储字符串,推荐使用后者
回复 使用道具 举报
liang1995918 来自手机 中级黑马 2016-4-5 01:06:48
27#
字符串直接用next()接收就行了!无任何bug!
回复 使用道具 举报

nextIne()是键盘录入整数的方法,当我们录入一个整数的 的时候,其实在键盘在录入的是这个数字和\r\n,
               
,nextLine()是键盘录入字符串的方法,可以接受任意类型的数据,但是他凭什么能获取
                一行呢?通过\r\n,只要碰到\r\n就结束了
所以当你前面输入整数,下面紧跟着输入字符时,当你输入一个整数后,系统默认后面加上了\r\n,这个\r\n,被nextLine()接收就代表结束了,所以控制台就显示你输入的整数,下面就是空格了,撒都没有
回复 使用道具 举报
没有录入字符串
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马