用户交互Scanner


scanner对象

由于获取用户的输入

  • 基础语法

    Scanner s = new Scanner(System.in); 
    

注意使用前要先导入Scanner包

  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

next();

    1. 一定要读渠道有效字符后才可以结束输入
    2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
    3. 只有输入有效字符后才将其后面输入的空白作为分隔符后者结束符
    4. next()不能得到带有空格的字符串

例子:

//创建一个扫描对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方法接收:");

        //判断用户有没有输入字符串
        if(scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();
            System.out.println("输出的内容:"+str);
        }

        //凡是IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
        scanner.close();//关闭

nextLine();

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空白

例子:

//创建一个扫描对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用nextLine方法接收:");

        //判断用户是否还有输入字符串
        if(scanner.hasNextLine()){
            //使用nextLine方式接收
            String str = scanner.nextLine();
            System.out.println("输出的内容:"+str);
        }

        //凡是IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
        scanner.close();//关闭