Scanner 类是 Java 中用于从不同数据源(如键盘、文件等)获取输入的工具类。它位于 java.util 包中。以下是 Scanner 类的基本用法示例:

1. 从键盘获取输入:
import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        // 创建 Scanner 对象,关联到标准输入流(键盘输入)
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter your name: ");
        // 从键盘读取字符串输入
        String name = scanner.nextLine();

        System.out.print("Enter your age: ");
        // 从键盘读取整数输入
        int age = scanner.nextInt();

        System.out.println("Hello, " + name + "! You are " + age + " years old.");

        // 关闭 Scanner 对象
        scanner.close();
    }
}

2. 从文件读取输入:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileScannerExample {
    public static void main(String[] args) {
        // 指定文件路径
        String filePath = "path/to/myfile.txt";
        
        try {
            // 创建 Scanner 对象,关联到文件输入流
            Scanner fileScanner = new Scanner(new File(filePath));

            // 读取文件内容
            while (fileScanner.hasNextLine()) {
                String line = fileScanner.nextLine();
                System.out.println(line);
            }

            // 关闭 Scanner 对象
            fileScanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

3. 使用正则表达式分割输入:
import java.util.Scanner;

public class ScannerDelimiterExample {
    public static void main(String[] args) {
        // 创建 Scanner 对象,关联到字符串输入
        String input = "John 25 175.5";
        Scanner scanner = new Scanner(input);

        // 使用空格和换行符作为分隔符
        scanner.useDelimiter("[\\s\n]+");

        // 读取分割后的输入
        String name = scanner.next();
        int age = scanner.nextInt();
        double height = scanner.nextDouble();

        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("Height: " + height);

        // 关闭 Scanner 对象
        scanner.close();
    }
}

这些是 Scanner 类的一些基本用法示例。它是一个方便的工具类,可用于处理各种输入源。


转载请注明出处:http://www.zyzy.cn/article/detail/13478/Java