Scanner类总结

时间:2022-03-17 15:07:46

1.构造器

Scanner(File source) 
Scanner(InputStream source) 
Scanner(String source)

2.方法
         Scanner in =new Scanner(System.in); //开启扫描器
         //一、hasNext()
         System.out.println(in.hasNext());   //输出时间:接受到第一个“保存并换行”指令(即"回车符“)

         //二、查看“默认分割方式”
         Pattern p =in.delimiter();
         System.out.println(p);              /**输出:\p{javaWhitespace}+   <表示默认分割方式是'白色空格'> */

         //三、修改“默认分割方式”
         p =Pattern.compile("_");
         in.useDelimiter(p);                //修改next()、nextXXX()(除nextLine)方法默认“分割方式”
         System.out.println("【测试分割方式】请输入测试字符串;");
         String s =in.next();               /** 输入: a_b_c */
         System.out.println(s);             /** 输出:a <改为了'_'>||   a_b_c <没改,默认'空格'> */

         //四、next()与nextLine()的区别
            System.out.println("【测试next与nextLine】请输入测试字符串;");
                                        //接受输入
                   s =in.next();            /** 输入: a_b_c */
                                        //s="a",光标移到c后空格
                                        //光标是否在行首?NO ——>不接受输入(返回上一行("a_b_c"所在行)中c后部分——空字符串)
                   s =in.nextLine();    //s="",换行
                                        //光标是否在行首?YES——>接受输入
                   s =in.nextLine();       /** 输入: a_b_c */
                                        //s="a_b_c",换行
                   /**
                    * 总结:
                    *     相同点:“保存并换行”条件——回车
                    *     不同点: 扫描方式、分割方式
                    * */
        //五、close()
                   in.close();         //关闭扫描器