欢迎光临散文网 会员登陆 & 注册

java学习记录:(2) Scanner的使用

2020-06-30 08:03 作者:幻雨之秋  | 我要投稿

Scanner的调用:

new Scanner(System.in);

Scanner scanner = new Scanner(System.in);

Scanner类中的详解:

Scanner : 指扫描器

System.in : 指系统输入

Scanner的方法:

注:Line 是指 行 的意思

public boolean hasNext()        //判断扫描器中当前扫描位置后是否还存在下一段

public boolean hasNextLine()        //如果在此扫描器的输入中存在另一行,则返回 true。

public String next()        //查找并返回来自此扫描器的下一个完整标记。

public String nextLine()        //此扫描器执行当前行,并返回跳过的输入信息。

代码演示:

//把键盘录入的信息全部打印输出到控制台

public static void main(String[] args) {

        Scanner s = new Scanner(System.in);

        while(s.hasNextLine()){

                System.out.println(s.nextLine());

        }

}

使用 Scanner方法前的注意事项:

1、使用nextInt()时输入的内容必须为数字,如果输入了字符串,程序结束并且会报异常:java.util.InputMismatchException

代码演示:

//把键盘录入的信息全部打印输出到控制台 

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int i = scanner.nextInt();

        System.out.println(i);

}

2、注:nextInt()和next()判断读取结束的标识是空白符;比如空格,比如回车,比如tab…,而nextLine()的结束标识是回车也就是“\r”

代码演示:

//把键盘录入的信息全部打印输出到控制台 

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int i = scanner.nextInt();

        System.out.println(i);

}

//把键盘录入的信息全部打印输出到控制台 

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String s = scanner.nextLine();

        System.out.println(s);

}

3、next()和nextInt()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,而nextLine()不管是否读到有效字符,遇到结束符回车都会结束

//把键盘录入的信息全部打印输出到控制台 

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String s = scanner.next();

        System.out.println(s);


        String ss = scanner.nextLine();

        System.out.println(ss);

}

4、 next()和nextInt()读到有效字符后不会将结束符擦除,而nextLine()是会将结束符擦除的,看如下案

例:

public class Test {

    public static void main(String[] args){

        Scanner scanner = new Scanner(System.in);

        String str = scanner.next();

        System.out.println("str:"+str);        //输出字符串的内容

        String newLine = scanner.nextLine();

        System.out.println("newLine:"+newLine);        //输出新行内容

        String newLine2 = scanner.nextLine();

        System.out.println("newLine2:"+newLine2);        //输出新行内容

    }

}

//把键盘录入的信息全部打印输出到控制台 

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String next = scanner.next();

        System.out.println(next);


        String nextLine = scanner.nextLine();

        System.out.println(nextLine);


        String nextLine2 = scanner.nextLine();

        System.out.println(nextLine2);

}

5、同一个Scanner对象,不能先录入int,再录入String值,会出异常。

//方法一

public static void main(String[] args) {

        Scanner scanner1 = new Scanner(System.in);

        int i = scanner1.nextInt();

        Scanner scanner2 = new Scanner(System.in);

        String s = scanner2.nextLine();


        System.out.println(i + ":"+s);

}

//方法二

public static void main(String[] args) {

     Scanner scanner1 = new Scanner(System.in); 

        String num1 = scanner1.nextLine();

        String num2 = scanner1.nextLine();

        int num3 = Integer.valueOf(num1);


        System.out.println(num3+":" +num2);

}


java学习记录:(2) Scanner的使用的评论 (共 条)

分享到微博请遵守国家法律