java中的next,

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: