使用scanner类可以很方便的获取用户的键盘输入,Scannery是一个基于正则表达式的文本扫描器,他可以从文件、输入流、字符串中解析出来基本类型值和字符串值。
scanner主要提供两个方法来扫描输入:
hasNextXXX():是否还有下一项输入项,其中Xxx可以是Int、Long等基本数据类型的字符串。如果只是判断是否有下一项输入,者可以直接使用hasNext()。
nextXxx():获取下一项输入项。Xxx的含义和上一个方法里的相同。
在默认情况下,Scannery使用空白(包括空格、Tab、回车)作为多个输入项之间的分隔符。
下面是使用Scannery来获得用户输入的:
import java.util.Scanner;
public class P241 {
public static void main(String[] args){
Scanner sc =new Scanner(System.in);
//增加下面一行将只把诙谐和作为分隔符
//sc.useDelimiter("\n");
while(sc.hasNext()){
System.out.println("键盘输入的内容是:"+sc.next());
}
}
}
//我有个问题希望读者能帮我解决,怎么才能使循环终止
Scanner还提供了两个简单的逐行来读取:
boolean hasNextLine():返回输入员是否还有下一行。
String nextLine():返回输入源下一行的字符串。
Scanner 还可以读取文件的输入,只需在创建Scannery的时候传入一个File对象就可以了。
下面是获取文件的例子:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class P243{
public static void main(String[] args) throws Exception{
Scanner sc=new Scanner(new File("D:\\hello.txt"));
while(sc.hasNextLine()){
System.out.println(sc.nextLine());
}
}
}