[常用类]Scanner 类
Scanner 类
一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。
该代码允许用户从System.in读取一个数字:
1 Scanner sc = new Scanner(System.in);
2 int i = sc.nextInt();
一般使用方法: * hasNextXxx() 判断是否还有下一个输入项,其中Xxx可以是Int,Double等。如果需要判断是否包含下一个字符串,则可以省略Xxx * nextXxx() 获取下一个输入项。Xxx的含义和上个方法中的Xxx相同,默认情况下,Scanner使用空格,回车等作为分隔符
* public int nextInt():获取一个int类型的值
* public String nextLine():获取一个String类型的值
获取数据可能遇到的问题:
对于 先获取一个 int 型,再获取一个String类型的情况,如果直接用同一个Scanner对象 sc 获取,会出现无法获取 String 变量
因为 在 int 型输入录入时,录入了 \r\n, 是一行结束的标志, 所以 String 型会直接跳过。
解决办法:
- 创建一个新的 Scanner 对象,用于接收 String 类型。这样就不会读取到 \r\n。(浪费空间)
- 键盘录入的都是字符串,都用 nextLine 方法来录入,然后再将字符串转换成其他格式的