java.util.Scanner 类是一个简单的文本扫描器可以分析基本类型和字符串使用正则表达式。以下是关于扫描器的要点:
-
一个扫描器使用分隔符模式分解它的输入,默认情况下与空白匹配。
-
扫描操作可能阻塞等待输入。
-
扫描器是不是安全的,无需外部同步多线程使用
//控制台输入
Scanner s = new Scanner(System.in);
System.out.println("请输入");
while(true){
String line = s.nextLine();
if(line.equals("exit")){
break;
}
System.out.print("exit");
}
分割方式
useDelimiter(Pattern pattern)改变token的分割方式,默认的是空格,传Pattern对象
useDelimiter(String pattern)改变token的分割方式,默认的是空格,传String
String str = "1.1 22.2 s 4 5.3 6 7.5 8 9";
Scanner scanner = new Scanner(str);
//scanner.useDelimiter("\\.");
while(scanner.hasNext()){
if(scanner.hasNext(Pattern.compile("\\d\\.\\d"))){
System.out.println(scanner.next());
}else{
scanner.next();//要调用一下next()相关的方法才会到下一个token
}
}
//其他方法
hasNext();查看是否有token的分割段
hasNextInt();查看是否有int类型的token的分割段
nextInt();返回下一个int的数值
nextLine();返回一行