黑马程序员技术交流社区

标题: 键盘录入字符串的问题 [打印本页]

作者: 一个人走天下    时间: 2015-11-8 14:20
标题: 键盘录入字符串的问题
       
                Scanner sc = new Scanner(System.in);
                System.out.println("输入第一个字符串");
                String x = sc.nextLine();
                System.out.println("输入第二个字符串");
                String y = sc.next();
                System.out.println("x = "+ x +"y ="+ y);
               
                里面的  next  和  nextLine   有什么区别?
               分别在哪里用?   求大神指导
作者: ly631960324    时间: 2015-11-9 00:36
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
作者: 478883662    时间: 2015-11-9 08:59
ly631960324 发表于 2015-11-9 00:36
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符 ...

那输入
ZB   C Tab键DEF   后
String str = next()   str是不是=ZB啊?再下次next()就是C,再下次就是DEF么?
作者: dai2686779    时间: 2015-11-9 09:04
6666666666666666
作者: 木子子木    时间: 2015-11-9 22:58
我的理解是:nextLine 可以录入字符串!所以也是过来取经的!希望也能弄清楚这两者的区别!
作者: 一个人走天下    时间: 2015-11-9 23:05
ly631960324 发表于 2015-11-9 00:36
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符 ...

哦,我试试,谢谢

作者: 醉叶惜秋    时间: 2015-11-10 00:10
看大神解题来了
作者: 413520953    时间: 2015-11-10 00:18
来学习的。。。。。。。。。。。。
作者: nice非飞    时间: 2015-11-10 00:43
其实看看API文档就知道了
作者: ly631960324    时间: 2015-11-10 01:26
478883662 发表于 2015-11-9 08:59
那输入
ZB   C Tab键DEF   后
String str = next()   str是不是=ZB啊?再下次next()就是C, ...

结果就是x = ZB,  y = C
作者: 478883662    时间: 2015-11-10 09:05
ly631960324 发表于 2015-11-10 01:26
结果就是x = ZB,  y = C

懂了,谢楼主




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2