原文地址:https://www.cnblogs.com/SzBlog/p/5404335.htmlhtml
后面有改动java
使用Scanner类能够很方便地便获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它能够从文件、输入流 、字符串中解析出基本类型值和字符串值。Scanner类提供了多个构造器,不一样的构造器可接受文件、输入流、字符串做为数据,用于从文件、输入流、字符串中解析数据。正则表达式
Scanner主要提供了两个方法来扫描输入:编程
(1) hasNextXxx():是否还有下一个输入项,其中Xxx能够是Int、Long等表明基本数据类型的字符串。若是须要判断是否包含下一个字符串,能够省略Xxx.spa
(2) nextXxx():获取下一个输入项。Xxx的含义与前一个方法中Xxx相同。code
在默认状况下,Scanner使用空白(包括空格、Tab空白、回车)做为多个输入项之间的分隔符。看下面的程序使用Scanner来得到用户的键盘输入。htm
public class TestScannerKeyBoard { public static void main(String[] args) { //System.in表明标准输入,就是键盘输入 Scanner sc=new Scanner(System.in); //Scanner使用useDelimiter(String pattern)方法设置分隔符。下面设置使用回车做为分隔符, //程序每次读取一行,无论这一行是否包含空格,Scanner都把它当成一个输入项 //sc.useDelimiter("\n"); //判断是否还有下一个输入项 while(sc.hasNext()) { //输出输入项 System.out.println("键盘输入内容是:"+sc.next()); } } }
运行上面程序,程序经过Scanner不断从键盘读取键盘输入,每次读到键盘输入,直接将输入内容打印在控制台。
事实上,Scanner提供了两个简单的方法来逐行读取:
(1) boolean hasNextLine():返回输入源中是否还有下一行。
(2)String nextLine():返回输入源中的下一行的字符串。
Scanner不只能够获取字符串输入项,也能够获取任何类型的输入项。
<span style="font-family:FangSong_GB2312;">im</span>port java.util.Scanner; public class NextTest{ public static void main(String[] args) { String s1,s2; Scanner sc=new Scanner(System.in); System.out.print("请输入第一个字符串:"); s1=sc.nextLine(); System.out.print("请输入第二个字符串:"); s2=sc.next(); System.out.println("输入的字符串是:"+s1+" "+s2); } }
运行结果:
请输入第一个字符串:home
请输入第二个字符串:workblog
输入的字符串是:home wor字符串