java中的next,
如何解决写爬虫IP受阻的问题?立即使用。
首先我们知道Java中Scanner类的方法next()和nextLine()是用来获取用户输入的。
(推荐教程:java入门)
让我们来看看两者的区别:
Next()不会获取字符前/后的空格/Tab键,只会获取字符。开始获取字符(前后字符不计),直到遇到空格/Tab键/Enter键;NextLine()会得到字符前后的空格/Tab键,enter键被切断。
示例:
导入Java . util . scanner;
导入Java . util . vector;
公共类Main{
公共静态void main(String args[]) {
扫描仪阅读器=新扫描仪(system . in);
string S1=reader . next line();
string S2=reader . next();
system . out . println(S1);
system . out . println(S2);
}
}运行结果:
可以看到next()只得到askldfj字符,空格后的字符全部丢弃!
更改next()和nextLine()的顺序
导入Java . util . scanner;
导入Java . util . vector;
公共类Main{
公共静态void main(String args[]) {
扫描仪阅读器=新扫描仪(system . in);
string S1=reader . next();
//String ss=reader . nextline();
string S2=reader . next line();
system . out . println(S1);
system . out . println(S2);
}
}(推荐课程:java课程)
运行样本:
只输入aaaa bbbb cccc,系统自动输出两行:
aaaa
BBBBCCCCC因为aaaa后面有一个空格,next是不需要的,所以next读完了,BBBBCCCCC,剩菜被nextLine捡走了。
解决方案是添加上面代码中提到的nextLine()。
导入Java . util . scanner;
公共类Main {
公共静态void main(String[] args) {
扫描仪阅读器=新扫描仪(system . in);
string S1=reader . next();
string S2=reader . next line();
system . out . println(S1);
system . out . println(S2);
}
}运行结果:
abcdefg
//剩下两行输入abcdefg后,回车程序已经结束,然后输出abcdefg和两个换行符。原因是nextLine吸收了next之后的回车。
需要注意的是,两条nextLine尽量不要连在一起。next不会出现这种情况,因为next的第一个要求是字符,最后一个要求是空格、Tab键和ENTER键。这就是java中next()和nextLine()区别的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。