java Scanner类
来源:互联网 发布:淘宝买化妆品可靠吗 编辑:程序博客网 时间:2024/06/01 09:55
首先,java.util.Scanner 作为Java5及之后的新特征,其常用于控制台输入,在此我分享一点个人的相关理解。
想要通过控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。
Scanner scan = new Scanner(System.in);
注:请认真阅读下面的解释,再对比后面代码食用效果更佳
hasNext() 判断扫描器中当前扫描位置后是否还存在下一段。
hasNextLine() 如果在此扫描器的输入中存在另一行,则返回 true。
next() 查找并返回来自此扫描器的下一个完整标记(String)。
nextLine() 此扫描器执行当前行,并返回跳过的输入信息。
delimiter() 返回Scanner当前正用于匹配分隔符的pattern。
nextInt()读取整数,通过hasnextInt进行判断,同nextDouble(),nextFloat()等用法相同。
咱们再来看一个实例:
<注意前面的注释符>
代码注释中特别解释了next()与nextline()第一个区别,结合上面各函数的定义更容易理解。
public class ScannerDemo { public static void main(String []args){ Scanner scan = new Scanner(System.in); System.out.println("请输入一个整数:"); while(scan.hasNextInt()){ int num = scan.nextInt(); System.out.println("请输入一个字符串:"); String str = scan.next(); // String str = scan.nextLine(); // 区别于next(),如果此处使用nextline(),则str会直接接收一个换行符。 // 因为上方的nextInt只是读取本行的int数据,而并不将“行指针”指向下一行,所以nextline只能接收到数字输入完成后的换行符。 System.out.println("number="+num+",string="+str); System.out.println(scan.delimiter()); scan.close(); break; } }}运行结果如下:请输入一个整数:1325请输入一个字符串:smilenumber=1325,string=smile\p{javaWhitespace}+
我们再来看看next()与nextline()第二个区别:
public class ScannerDemo { public static void main(String []args){ Scanner scan = new Scanner(System.in); System.out.println("请输入一个字符串:"); while(scan.hasNext()){ String str0 = scan.nextLine(); //先是nextLIne System.out.println("请再次输入一个字符串:"); String str1 = scan.next(); //再是next() System.out.println("str0 = "+str0+" ; str1 = "+str1); scan.close(); break; } }} 运行结果如下:请输入一个字符串:smile dogge and happy catty请再次输入一个字符串:you are my sunshinestr0 = smile dogge and happy catty ; str1 = you
即:
next()接收字符串时,以空格或者换行符作为结尾
而nextLine可以接受空格作为字符串的一部分,只以换行符作为结尾。
<其实定义也说清了,next()是返回一个完整的string, 而nextLine()是扫描当前行,并返回扫描过的当前行信息>
通过上面的实例及代码注释,配合下面的函数讲解,我们可以认识到Scanner常用函数的使用方法。
多多练习才是正道,开始敲代码吧~
阅读全文
1 0
- scanner:java的scanner类详解
- java.util.scanner类
- java.util.Scanner类
- java.util.Scanner类
- JAVA Scanner 类
- java Scanner类
- java的Scanner类
- java Scanner 类
- java API------Scanner类
- Java中的Scanner类
- JAVA Scanner类
- java Scanner类
- Java Scanner 类
- Java Scanner 类
- Java Scanner 类
- Java Scanner 类
- Java Scanner 类
- Java Scanner 类
- Android Activity的生命周期及启动模式
- eclipse下修改javaWeb项目的运行地址
- 解决1452- Cannot add or update a child rowa foreign key constraint fails问题
- Spring整合Mybatis
- 创建Person类和对象张三
- java Scanner类
- 方法重载
- Mybatis-Plus代码生成器
- 初识spring
- Python入门(二)——运算符,求值顺序,if/for/while语句,list,tuple,dict,seq,set
- mySQL之补充
- html 解决空格显示问题
- 深究|Elasticsearch单字段支持的最大字符数?
- mysql 分组、 操作查询结果case when then else end用法举例