首页 / JAVA / Java Scanner语法
Java Scanner语法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java Scanner语法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3040字,纯文字阅读大概需要5分钟。
内容图文
![Java Scanner语法](/upload/InfoBanner/zyjiaocheng/702/4eba30dccc4a4a6e895450061db8419f.jpg)
1.导入:
import java.util.Scanner;
2.创建对象
Scanner scan = new Scanner();//一般变量名为scan或者in
最后关闭,scan.close();和I/O流有关,暂不清楚,照抄先。
3.next()
读取字符串,要读取到有效字符后才结束输入,不能读取空格,即遇到空格就停。
Scanner scan = new Scanner(System.in); String s1 = new String(); String s2 = new String(); String s3 = new String(); s1 = scan.next(); s2 = scan.next(); s3 = scan.next(); System.out.println(s1); System.out.println(s2); System.out.println(s3); if(scan.hasNext()) System.out.println("Yes");
输入:123 456 789 1011
输出:
123
456
789
Yes
s1第一次读取到有效字符1,遇到4前的空格结束第一次输入;随后s2遇到第一个有效字符4,遇到空格结束;s3遇到第一个有效字符7,同理遇到空格结束,此时还有未读取的字符在缓冲区里,用hasNext()判断;
4.hasNext()
判断是否还有输入的数据,不能识别空格或回车,还会吃掉空格或者回车,连续的空格加回车一次性全部吸收掉,ACM里用循环读取下一组数据。
5.nextLine()
和next()类似,唯一不同就是,next()遇到空格或者回车就断了,nextLine()遇到回车才断,空格也算是有效字符,从第一个有效字符开始直到回车,中间无论多少空格都能吃下。
![Java Scanner语法 - 文章图片](/upload/getfiles/0001/2021/5/3/20210503084124490.jpg)
![Java Scanner语法 - 文章图片](/upload/getfiles/0001/2021/5/3/20210503084124609.jpg)
package my_acm; import java.util.Scanner; public class MyTest10 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String s1 = new String(); String s2 = new String(); String s3 = new String(); String s4 = new String(); s1 = scan.next(); s2 = scan.next(); s3 = scan.next(); s4 = scan.nextLine(); System.out.println(s1); System.out.println(s2); System.out.println(s3); System.out.println(s4); if(scan.hasNext()) System.out.println("Yes1"); if(scan.hasNextLine()) System.out.println("Yes2"); } } /**输入:123 456 789 1011 12 13 14 15 输出: 123 456 789 1011 12 13 14 15 s4把9后面的全部字符全部都吃下去了,没有未读取的字符 */nextLine()
6.hasNextLine()
可以判断空格和回车,但是不会吃掉任何字符。
![Java Scanner语法 - 文章图片](/upload/getfiles/0001/2021/5/3/20210503084124490.jpg)
![Java Scanner语法 - 文章图片](/upload/getfiles/0001/2021/5/3/20210503084124609.jpg)
import java.util.Scanner; public class MyTest10 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String s1 = new String(); String s2 = new String(); String s3 = new String(); String s4 = new String(); s1 = scan.next(); s2 = scan.next(); s3 = scan.next(); System.out.println(s1); System.out.println(s2); System.out.println(s3); if(scan.hasNext()) System.out.println("Yes1"); if(scan.hasNextLine()) System.out.println("Yes2"); scan.close(); } }测试hasNext()会吃掉空格,hasNextLine()不会
![Java Scanner语法 - 文章图片](/upload/getfiles/0001/2021/5/3/20210503084124490.jpg)
![Java Scanner语法 - 文章图片](/upload/getfiles/0001/2021/5/3/20210503084124609.jpg)
import java.util.Scanner; public class MyTest10 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String s1 = new String(); String s2 = new String(); String s3 = new String(); String s4 = new String(); s1 = scan.next(); s2 = scan.next(); s3 = scan.next(); System.out.println(s1); System.out.println(s2); System.out.println(s3); if(scan.hasNextLine()) System.out.println("Yes2"); if(scan.hasNextLine()) System.out.println("Yes3"); if(scan.hasNext()) System.out.println("Yes1"); scan.close(); } }测试hasNext()会吃掉空格,hasNextLine()不会
- 通过比较可以知道hasNextLine()可以判断空格和回车,并且不会吸收字符;
- 但是如果先遇到hasNext(),空格加回车全都被吃掉,后续接上hasNextLine()判断不到还有空格和回车。
7.其他类型的输入
nextDouble();
nextLong();
nextInt();
nextFloat();
nextByte();
内容总结
以上是互联网集市为您收集整理的Java Scanner语法全部内容,希望文章能够帮你解决Java Scanner语法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。