Java Scanner的使用

158 阅读1分钟

作用

  1. 与电脑交互
  2. 从键盘读入数据

用例

import java.util.Scanner;

public class Scan {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next接收");
        if(scanner.hasNext()) {
            String str = scanner.next();
            System.out.println("输出" + str);//不能输出空白后的东西
        }
        //scanner.close();
        System.out.println("=======================");
        Scanner scanner1 = new Scanner(System.in);
        System.out.println("使用nextLine接收");
        if(scanner1.hasNextLine()) {
            String str1 = scanner1.nextLine();
            System.out.println("输出" + str1);//输出回车前的所有东西
        }
        System.out.println("=======================");
        int i=0;
        double d=0.0;
        System.out.println("请输入整数");
        if (scanner1.hasNextInt()){
            i = scanner1.nextInt();
            System.out.println("输入的int是"+i);
        }
        else
            System.out.println("你输入的不是整数");
        scanner1.next();
        System.out.println("请输入小数");
        if (scanner1.hasNextDouble()){
            d = scanner1.nextDouble();
            System.out.println("输入的double是"+d);
        }
        else
            System.out.println("你输入的不是小数");
        scanner1.close();
    }
}

注意点

  1. 需要import java.util.Scanner;
  2. Scanner的常用方法有hasNext()、next()、hasNextLine()、nextLine()、hasNextInt()、nextInt()、其他的指定的数据类型类似,最后close()。

has开头的返回值是布尔类型(判断)。next开头没有指定数据类型(获取)的返回String,指定数据类型的返回相应的数据类型。
next()不能输出空白后的东西。nextLine()输出回车前的所有东西

  1. 无论哪个Scanner类close()之后再也打不开了。new也不行