1.概述
用于键盘输入数据。
用法:A:导包
B:创建对象
C:调用方法
System类下有一个静态的字段:
public static final InputStream in;//标准的数据流,对应键盘的录入
InputStream is=System.in
所以Scanner sc =new Scanner(System.in);
中调用了构造方法:scanner(InputStream sourse
标准的数据流是无论你输入什么,都直接输入字符串,不会判断类型,但是经过system.In的包装之后,可以判断出输入的数据类型
2.成员方法
基本格式:
hasNextXxx() 判断是否还有下一个输入项,其中Xxx可以是int,Double等。如果需要判断是否包含下一个字符串,则可以省略
nextXxx()获取下一个输入项。Xxx的含义和上个方法的Xxx相同
默认情况下,Scanner使用空格,回车等作为分隔符
常用方法:
public int nextInt() :获取一个int类型的数据
public String nextLine():获取一个String类型的数据
有个小问题:
先获取一个整形数值,在获取一个字符串,会出现问题
主要原因:就是那个换行符号的问题
如何解决呢?
A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串
int a=sc.nextInt();
Scanner sc2=new Scanner(System.in);
String s=sc2.nextLine();
B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换成什么。