Java常用类:Scanner类


一、简介

  • java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入




二、创建对象

示例:

Scanner scanner = new Scanner(System.in);




三、常用方法

Ⅰ、获取输入

方法:

  1. next():获取用户下一次输入的字符串。
  2. nextLine():获取用户下一行输入的字符串。

两者区别:

  • next
    • 一定要读取到有效字符后才可以结束输入。
    • 对输入有效字符之前遇到的空白符,next方法会自动将其去掉。
    • 只有输入有效字符后才将其后面输入的空白符作为分隔符或者结束符。
    • next方法不能得到带有空白符的字符串。
  • nextLine
    • 以换行符为结束符,也就是说nextLine方法返回的是输入换行符之前的所有字符。
    • 可以获得空白符。

示例:

scanner.next();
scanner.nextLine();




Ⅱ、是否有输入

方法:

  1. hasNext():判断是否还有下一次用户输入。
  2. hasNextLine():判断是否还有下一行用户输入。

示例:

scanner.hasNext();
scanner.hasNextLine();




Ⅲ、关闭接收

方法:

  • close():关闭扫描器对用户输入的接收。

注意:

  • 凡是属于IO流的类,如果不关闭会一直占用资源。

示例:

scanner.close();




四、综合示例

/* 获取用户在控制台输入的多个数值,输出数值的和与平均值 */
public static void main(String[] args) {
    /* 先创建Scanner对象 */
    Scanner scanner = new Scanner(System.in);
    /* 下面调用Scanner对象的方法来完成操作 */
    double sum = 0.0;
    int num = 0;
    /* 当输入非数值字符串时会结束循环 */
    while (scanner.hasNextDouble()) {
        double x = scanner.nextDouble();
        num++;
        sum = sum + x;
    }
    System.out.println(num + "个数的和为" + sum);
    System.out.println(num + "个数的平均值是" + (sum / num));
    /* 最后记得关闭Scanner对象 */
    scanner.close();
}




posted @ 2020-10-29 16:42  conyoo  阅读(764)  评论(0编辑  收藏  举报