JAVA基础类库——使用Scanner获取键盘输入
来源:互联网 发布:常见的网络诈骗 编辑:程序博客网 时间:2024/06/05 10:36
使用Scanner类可以很方便地获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件、输入流、字符串中解析出基本类型值和字符串值。Scanner类提供了多个构造器,不同的构造器可以接收文件、输入流、字符串作为数据源,用于从文件、输入流、字符串中解析数据。
Scanner主要提供了两个方法来扫描输入。
- hasNextXxx():是否还有下一个输入项,其中Xxx可以是Int、Long等代表基本数据类型的字符串。如果只是判断是否包含下一个字符串,则直接使用hasNext()。
- nextXxx():获取下一个输入项。Xxx的含义与前一个方法中的Xxx相同。
默认情况下,Scanner使用空白(包括空格、Tab空白、回车)作为多个输入项之间的分隔符。
下面程序使用Scanner来获得用户的键盘输入。
public class ScannerKeyBoardTest{ public static void main(String[] args) { //System.in 代表标准输入,就是键盘输入 Scanner sc=new Scanner(System.in); //增加下面一行将只把回车作为分隔符 //sc.useDelimiter("\n"); //判断是否还有下一个输入项 while(sc.hasNext()) { //输出输入项 System.out.println("键盘输入的内容是:"+sc.next()); } }}运行上面程序,程序通过Scanner不断从键盘读取键盘输入,每次读到键盘输入后,直接将输入内容打印在控制台。如果希望改变Scanner的分隔符(不是用空白作为分隔符),为Scanner设置分隔符使用useDelimiter(String pattern)方法即可,该方法的参数应该是一个正则表达式,只需要把上面程序中粗体代码行的注释去掉,该程序就会把键盘的每行输入当成一个输入项,不会以空格、Tab空白等作为分隔符。
事实上,Scanner提供了两个简单的方法来逐行读取。
- boolean hasNextLine():返回输入源中是否还有下一行。
- String nextLine():返回输入源中下一行的字符串。
注意:Scanner的读取操作可能被阻塞(当前执行顺序流暂停)来等待信息的输入。如果输入源没有结束,Scanner又读不到更多输入项时(尤其在键盘输入时比较常见),Scanner的hasNext()和next()方法都有可能阻塞,hasNext()方法是否阻塞与和其相关的next()方法是否阻塞无关。
Scanner不仅能读取用户的键盘输入,还可以读取文件输入。只要在创建Scanner对象时传入一个File对象作为参数,就可以让Scanner读取该文件的内容。
public class ScannerFileTest{ public static void main(String[]args) throws Exception { Scanner sc=new Scanner(new File("ScannerFileTest.java")); System.out.println("ScannerFileTest.java 文件内容如下:"); while(sc.hasNextLine()) { System.out.println(sc.nextLine()); } }}因为上面程序涉及文件输入,可能引发文件IO相关异常,故主程序声明throws Exception表名main不处理任何异常。
阅读全文
0 0
- JAVA基础类库——使用Scanner获取键盘输入
- 使用Scanner获取键盘输入
- 使用Scanner获取键盘输入
- 使用Scanner获取键盘输入
- 使用Scanner获取键盘输入
- 使用Scanner获取键盘输入
- 使用Scanner获取键盘输入
- Java scanner获取键盘输入
- 76 Java 使用Scanner获取键盘输入
- Scanner类获取键盘输入
- Java中怎么获取键盘输入-Scanner
- Scanner获取键盘输入
- Scanner获取键盘输入
- 1.3-Java-键盘输入-Scanner
- Java中的Scanner类的用法以及其他获取键盘输入的方法
- Scanner和BufferedReader获取键盘输入
- java语言基础入门——使用键盘输入字符功能
- Java基础学习笔记12——(Scanner的使用,String类的概述和使用样例)
- IDEA里favorites list的使用,完美解决高频目录找找找的问题
- 自定义广播
- 474. Ones and Zeroes
- 解决RatingBar图片被拉伸问题
- 2017年六月五日 NO.7 HTML(六)——表格结构标签(笔记)
- JAVA基础类库——使用Scanner获取键盘输入
- 学习笔记TF020:序列标注、手写小写字母OCR数据集、双向RNN
- Leetcode: Majority Element &Majority Element II
- 微软请你学Linux,最后4节课,即将收官,错过了就没有了!
- LL
- 广播接收者---发送有序广播
- 单例模式的延迟加载
- 微信小程序java开发流程分享
- 第十四章:表单脚本(表单的基础知识)