在 Java 中,Scanner 类是一个用于从各种输入源(例如键盘、文件等)读取基本数据类型和字符串的方便类。它位于 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.println("Enter your name: ");
        String name = scanner.nextLine(); // 读取一行输入
        System.out.println("Hello, " + name + "!");

        System.out.println("Enter your age: ");
        int age = scanner.nextInt(); // 读取整数
        System.out.println("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) {
        try {
            // 创建 Scanner 对象,用于读取文件
            Scanner fileScanner = new Scanner(new File("input.txt"));

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

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

3. 解析输入:

Scanner 类提供了一系列的 nextXXX() 方法,用于解析不同类型的输入。
import java.util.Scanner;

public class ParseInputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("John 25 75.5 true");

        String name = scanner.next();
        int age = scanner.nextInt();
        double weight = scanner.nextDouble();
        boolean isStudent = scanner.nextBoolean();

        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("Weight: " + weight);
        System.out.println("Is Student: " + isStudent);

        scanner.close();
    }
}

Scanner 类还提供了方法用于判断输入中是否还有下一个元素(hasNext()、hasNextInt() 等),以及跳过输入中的分隔符(useDelimiter())等。

需要注意的是,在实际应用中,要确保输入的格式与代码中的解析方式相匹配,以避免异常。



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