Scanner类简介
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。
import java.util.Scanner;
/*
* 基本格式:判断是否是某种类型元素 public boolean hasNextxxx
* 获取该元素 public xxx nextxxx()
* 举例: public boolean hasNextInt
* public Int nextInt()
* 注:InputMismatchException:输入的和你想要的不匹配
*
* */
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
if(sc.hasNextInt()) {
int x=sc.nextInt();
System.out.println("x:"+x);
}
else {
System.out.println("输入有误");
}
}
}
/*
* 问题:先获取一个数值,再获取一个字符串,会出现问题
* 解决:1.重新创立一个新的对象
* 2.把所有数据都按照字符串获取,然后转换
*
* */
代码测试