当前位置:首页 > Java

_java中如何输入

2026-03-25 07:17:10Java

使用 Scanner 类获取用户输入

Scanner 类是 Java 中最常用的输入方式,位于 java.util 包中。通过创建 Scanner 对象并关联到标准输入流 System.in,可以读取不同类型的输入数据。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入一个整数: ");
        int num = scanner.nextInt();

        System.out.print("请输入一个字符串: ");
        String str = scanner.next();

        System.out.println("输入的整数: " + num);
        System.out.println("输入的字符串: " + str);

        scanner.close();
    }
}

Scanner 提供了多种方法来读取不同类型的数据:

  • nextInt() 读取整数
  • nextDouble() 读取双精度浮点数
  • next() 读取单个单词(以空格分隔)
  • nextLine() 读取整行文本

使用 BufferedReader 读取输入

BufferedReader 提供了更高效的输入方式,特别适合大量数据的读取。需要配合 InputStreamReader 使用。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("请输入一行文本: ");
        String line = reader.readLine();

        System.out.println("输入的文本: " + line);

        reader.close();
    }
}

BufferedReader 的 readLine() 方法会读取整行输入,包括空格。需要处理可能的 IOException。

控制台输入与命令行参数

Java 程序可以通过 main 方法的参数接收命令行输入:

public class Main {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("第一个命令行参数: " + args[0]);
        } else {
            System.out.println("没有提供命令行参数");
        }
    }
}

运行程序时通过命令行传递参数:

java Main 参数1 参数2

格式化输入处理

对于需要特定格式的输入,可以结合正则表达式进行验证:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入日期(YYYY-MM-DD): ");
        String date = scanner.next();

        if (date.matches("\\d{4}-\\d{2}-\\d{2}")) {
            System.out.println("有效日期格式: " + date);
        } else {
            System.out.println("无效日期格式");
        }

        scanner.close();
    }
}

输入流异常处理

良好的输入处理应该包含异常处理机制:

import java.util.InputMismatchException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        try {
            System.out.print("请输入一个整数: ");
            int num = scanner.nextInt();
            System.out.println("输入的整数: " + num);
        } catch (InputMismatchException e) {
            System.out.println("输入的不是有效整数");
            scanner.next(); // 清除错误的输入
        } finally {
            scanner.close();
        }
    }
}

文件输入处理

从文件读取输入也是常见的需求:

_java中如何输入

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try {
            Scanner fileScanner = new Scanner(new File("input.txt"));

            while (fileScanner.hasNextLine()) {
                String line = fileScanner.nextLine();
                System.out.println(line);
            }

            fileScanner.close();
        } catch (FileNotFoundException e) {
            System.out.println("文件未找到");
        }
    }
}

这种方法适用于需要从外部文件读取数据的场景。

标签: _java
分享给朋友:

相关文章

_java代码如何运行

_java代码如何运行

编写Java代码 创建一个以.java为后缀的文件,例如HelloWorld.java。文件内容需包含类定义和main方法,作为程序入口。 public class HelloWorld {…