Scanner类文本扫描

Scanner类: 文本扫描器 java.util.Scaner ;
构造方法:
public Scanner(InputStream source) :创建一个文本扫描器
形式参数是一个抽象类—>
它通过System类里面的public static final InputStream in

           System类中public final static InputStream in = null;本地方法(非Java语言实现)---> private static native void setIn0(InputStream in);底层方法一定会创建系统资源---->读取用户输入的 字符(整数,字符串...)

Scanner类提供判断功能:防止出现输入的类型和结果类型不匹配!
public boolean hasNextXXX():判断下一个录入的是否为指定的XXX类型
XXX nextXXX() 获取功能

     举例:public boolean hasNextInt()int nextInt()如果先录入int,在录入String---->nextLine()---- 录入的字符串数据被漏掉解决方案;1)直接使用next()---->String2)在使用nextLine()之前,在创建Scanner对象即可统一先用String----->全部接收     ----->后期可以通过Integer的特有功能将整数---->String前提条件:String---->数字字符串 "1","2","3"举例:本身:int录入5个学生的语文,数学,英语成绩,按照总分从高到底排序(可以TreeSet集合进行排序)语文成绩,数学成绩,英语成绩---->nextLine()---->String"98"  "78"     "60"String---    基本类型的包装类类型Integer--->int
public class ScannerDemo {public static void main(String[] args) {//创建键盘录入对象InputStream inputStream = System.in ;  //标准输入流  IO(Input 读 ,Output 写)  :Java高级特性:IOScanner sc = new Scanner(inputStream) ;// public Scanner(InputStream source) :创建一个文本扫描器System.out.println("请您输入一个数据:");if(sc.hasNextInt()){int num = sc.nextInt() ;System.out.println("您录入的数据是:"+num);}else if(sc.hasNextLine()){//录入的字符串String line = sc.nextLine() ;System.out.println("您录入的数据是:"+line);}else{System.out.println("您录入的数据和结果类型不匹配...");}//录入数据// int num = sc.nextInt();  //java.util.InputMismatchException// System.out.println("您要录入的数据是:"+num);}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部