Scanner:用于接收键盘录入数据
常用的两个方法(int举例):
public int nextInt():获取一个int类型的值
public String nextLine():获取一个String类型的值
有时候会出现问题:
先获取一个数值,在获取一个字符串,会出现问题。(你只能输入数值,系统直接跳出结果,无法输入字符串)
主要原因:就是那个换行符号的问题。(回车键)
如何解决呢?
A:先获取一个数值,再创建一个新的键盘录入对象获取字符串。
B:先把所有的数据都按照字符串获取,然后要什么,你就对应的转换为什么。
基本格式:
public boolean hasNextXxx():判断是否是某种类型的元素
public Xxx nextXxx():获取该元素
举例:用int类型的方法举例
public boolean hasNextInt()
public int nextInt()
错误注意:
InputMismatchException:输入的和你想要的不匹配
1
package cn_scanner;
import java.util.Scanner;
public class Scanner_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
if(sc.hasNextInt()){//判断输入的数据是否是int类型的
int x = sc.nextInt();
System.out.println("x:"+x);
}
else{
System.out.println("您输入的数据类型不匹配");
}
//这个格式是最为严谨的Scanner格式 //下面为解决 先获取一个数值,在获取一个字符串,会出现问题 的两个解决方案:
//第一个方法:先获取一个数值,再创建一个新的键盘录入对象获取字符串。
int a = sc.nextInt();
Scanner sc2 = new Scanner(System.in);
String s = sc2.nextLine();
System.out.println("a:"+a+"\t"+"s"+s);
//这个方法较为麻烦,若是需要很多次的输入扫描,则要创建很多个Scanner。 //第二个方法:先把所有的数据都按照字符串获取,然后要什么,你就对应的转换为什么。
//这个在之前的学习中有,记载在安卓巴士的文章中
} }