当前位置:首页 > Java

java如何读取输入

2026-03-26 03:07:29Java

读取控制台输入

Java中读取控制台输入可以通过Scanner类或BufferedReader类实现。Scanner类更简单易用,适合基础输入需求;BufferedReader性能更高,适合处理大量输入。

使用Scanner类

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入内容: ");
        String input = scanner.nextLine();
        System.out.println("输入的内容是: " + input);
        scanner.close();
    }
}

使用BufferedReader类

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 input = reader.readLine();
        System.out.println("输入的内容是: " + input);
    }
}

读取文件输入

读取文件内容可以使用ScannerBufferedReaderFiles类。Files类在Java 7及以上版本提供,适合快速读取小文件。

使用Scanner读取文件

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

public class Main {
    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(new File("input.txt"));
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

使用BufferedReader读取文件

java如何读取输入

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("input.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用Files类读取文件

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        try {
            List<String> lines = Files.readAllLines(Paths.get("input.txt"));
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

读取数字输入

处理数字输入时需要注意输入验证,避免非数字输入导致异常。

读取整数

java如何读取输入

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数: ");
        while (!scanner.hasNextInt()) {
            System.out.println("输入无效,请重新输入整数!");
            scanner.next();
        }
        int num = scanner.nextInt();
        System.out.println("输入的整数是: " + num);
        scanner.close();
    }
}

读取浮点数

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个浮点数: ");
        while (!scanner.hasNextDouble()) {
            System.out.println("输入无效,请重新输入浮点数!");
            scanner.next();
        }
        double num = scanner.nextDouble();
        System.out.println("输入的浮点数是: " + num);
        scanner.close();
    }
}

读取多行输入

处理多行输入时通常需要设置终止条件,例如空行或特定标记。

读取直到空行

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入多行内容,空行结束:");
        StringBuilder sb = new StringBuilder();
        String line;
        while (!(line = scanner.nextLine()).isEmpty()) {
            sb.append(line).append("\n");
        }
        System.out.println("输入的内容是:\n" + sb.toString());
        scanner.close();
    }
}

读取特定标记结束

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入多行内容,输入END结束:");
        StringBuilder sb = new StringBuilder();
        String line;
        while (!(line = scanner.nextLine()).equals("END")) {
            sb.append(line).append("\n");
        }
        System.out.println("输入的内容是:\n" + sb.toString());
        scanner.close();
    }
}

标签: java
分享给朋友:

相关文章

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法。…

php 实现java md5加密

php 实现java md5加密

PHP 实现 Java MD5 加密的兼容方法 Java 和 PHP 的 MD5 加密结果可能存在差异,主要因字符编码或输出格式不同。以下是确保两者结果一致的方法: 使用 hash 函数并处理编码…