中易网

in.next()和in.nextline()有什么区别?

答案:2  悬赏:10  
解决时间 2021-01-19 15:21
in.next()和in.nextline()有什么区别?
最佳答案
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。
而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
鉴于以上两种方法的只要区别,同学们一定要注意next()方法和nextLine(0方法的连用,下面举个例子来说明:
import java.util.Scanner;
public class NextTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
String s1,s2;
Scanner sc=new Scanner(System.in);
System.out.print("请输入第一个字符串:");
s1=sc.nextLine();
System.out.print("请输入第二个字符串:");
s2=sc.next();
System.out.println("输入的字符串是:"+s1+""+s2);
}
}
运行结果:
请输入第一个字符串:home
请输入第二个字符串:work
输入的字符串是:homework
但如果把程序改一下, s1=sc.next(); s2=sc.nextLine();
运行结果是:
请输入第一个字符串:home
请输入第二个字符串:输入的字符串是:home

可以看到,nextLine()自动读取了被next()去掉的Enter作为他的结束符,所以没办法给s2从键盘输入值。经过验证,我发现其他的next的方法,如double nextDouble(), float nextFloat() , int nextInt() 等与nextLine()连用时都存在这个问题,解决的办法是:在每一个 next()、nextDouble()、 nextFloat()、nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉。例如上面的程序改写为:
import java.util.Scanner;
public class NextTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
String s1,s2;
Scanner sc=new Scanner(System.in);
System.out.print("请输入第一个字符串:");
s1=sc.next();
sc.nextLine();
System.out.print("请输入第二个字符串:");
s2=sc.nextLine();
System.out.println("输入的字符串是:"+s1+""+s2);
}
}
运行结果是:
请输入第一个字符串:home
请输入第二个字符串:work
输入的字符串是:homework
全部回答
我暂时保留我的看法!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么是一次文献,二次文献,三次文献
凤凰与朱雀的区别?
一个人如果经常生气对身体会有哪些坏处
32-X=12的方程检验怎么写
惠州市惠阳区666路公交车星期天下午最早几点
是耐克正版足球鞋吗?
求问 自身金钱携带上限怎么看
380v蒸锅的功率多少
对于汽修行业未来的看法,行业怎么样?
怎么把假面骑士斗骑大战2的文件导入到PS3模拟
如何买日文原版漫画
2018年九月初六生的狗宝宝什么时候出生最好,
收到礼物ipad,洋玩意,怎么开机开机开机?
我想求个摆摊用的,专卖越南铁木砧板的广告录
道尽沧桑千古事,莫言无悔恸离愁谁写的
推荐资讯
QQ个人说明要怎么找到以前的
长时间的灯光照射对人体有什么害处???
钧州秘方美容地址在什么地方,想过去办事
溺爱成殇什么意思
作为基因工程的载体必须具备哪些条件
提升员工参与度的七种方法,提升员工参与度,
几句日语,求帮忙翻一下
东西方向的房子灶位应放哪里
徐锡麟的意思是什么?徐锡麟的释义是什么啊?
谁是篮球皇帝
从恒仁到清原怎么走
用“珍”字组成不同的词语填到句中的横线上。
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?