当前位置:首页 > 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程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

java如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

如何成为java架构师

如何成为java架构师

掌握扎实的Java基础 深入理解Java核心知识,包括多线程、集合框架、JVM原理、设计模式等。熟悉Java生态中的常用框架如Spring、MyBatis、Hibernate等,并能分析其源码实现。…

如何学习java语言

如何学习java语言

学习Java语言的系统方法 理解基础概念 Java是一种面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制流语句(if-else、循环)是第一步。熟悉类和对象的概念,理解封装、继承和多态三…

java js实现转盘抽奖

java js实现转盘抽奖

实现转盘抽奖的步骤 HTML结构 创建转盘抽奖的基本HTML结构,包括转盘区域和抽奖按钮。 <div id="wheel"> <canvas id="wheelCanv…