欢迎访问宙启技术站
智能推送

Java中的Scanner类函数的介绍及应用

发布时间:2023-06-30 05:03:27

Scanner类是Java提供的一个用于读取用户输入的类,它位于java.util包中。Scanner类提供了多个构造方法和一系列的方法,用于处理不同类型的输入。

Scanner类的构造方法:

1. Scanner(File source):使用指定的文件创建一个Scanner对象,用于读取文件的内容。

2. Scanner(InputStream source):使用指定的输入流创建一个Scanner对象,用于从输入流读取数据。

3. Scanner(String source):使用指定的字符串创建一个Scanner对象,用于读取字符串的内容。

4. Scanner(Readable source):使用指定的Readable对象创建一个Scanner对象,Readable是一个接口,可以通过实现它来创建自定义的可以读取的对象。

Scanner类的常用方法:

1. next():用于读取一个单词(以空格作为分隔符),返回一个字符串。

2. nextLine():用于读取一行字符串,返回一个字符串。

3. nextInt():用于读取一个整数,返回一个整数。

4. nextDouble():用于读取一个双精度数,返回一个双精度数。

5. hasNext():判断是否还有下一个元素,返回一个布尔值。

6. close():关闭Scanner对象。

Scanner类的应用举例:

1. 从键盘读取用户输入的字符串:

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);
scanner.close();

2. 从文件中读取整数并计算它们的和:

try {
    File file = new File("input.txt");
    Scanner scanner = new Scanner(file);
    int sum = 0;
    while (scanner.hasNextInt()) {
        int num = scanner.nextInt();
        sum += num;
    }
    System.out.println("文件中所有整数的和为:" + sum);
    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

3. 从字符串中解析数字并计算它们的平均值:

String str = "1 2 3 4 5";
Scanner scanner = new Scanner(str);
int sum = 0;
int count = 0;
while (scanner.hasNextInt()) {
    int num = scanner.nextInt();
    sum += num;
    count++;
}
double average = (double)sum / count;
System.out.println("平均值为:" + average);
scanner.close();

总结来说,Scanner类提供了一种方便的方式来读取用户输入,它可以从多种源(如键盘、文件、字符串等)中读取不同类型的数据。灵活运用Scanner类,可以实现很多有趣的功能,例如计算输入的数字的和、平均值等。但注意在使用完Scanner对象后要及时关闭,以释放资源。