Java 获取控制台输出

发布于 2024-08-18 10:03:49 字数 3027 浏览 30 评论 0

为了获取控制台输入,首先需要一个创建一个 Scanner 对象,创建 Scanner 对象时需要用 System.in 作为它的参数,Scanner 从 System.in 取得用户输入的内容后。

  • next() : 取得一个字符串
  • nextLine() : 读取一整行内容
  • hasNext() : 判断是否还有输入
  • nextInt() : 将取得的字符串转换成 int 类型的整数
  • nextFloat() : 将取得的字符串转换成 float 型
  • nextBoolean() : 将取得的字符串转换成 boolean 型

使用 Scanner 非常方便,但也有不足。Scanner 取得输入的依据是空格符,包括空格键、Tab 键和回车键等。当按下这些键时,Scanner 就会返回下一个输入。因此当你输入的内容中间包括空格时,显然使用 Scanner 不能完整的获得你输入的字符串。


在 Java 中获取控制台输出通常指的是获取用户在控制台输入的内容。Java 提供了多种方式来实现这一功能,主要依赖于不同的输入方法和类库。

使用 Scanner 类获取控制台输入

Java 中最常用的获取控制台输入的方式是使用 Scanner 类。以下是使用 Scanner 类读取控制台输入的基本示例:

import java.util.Scanner;

public class ConsoleInputExample {
    public static void main(String[] args) {
        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("Name: " + name);
        System.out.println("Age: " + age);

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

在这个示例中:

  • Scanner scanner = new Scanner(System.in); 创建了一个 Scanner 对象,并指定了 System.in 作为输入流,这表示从控制台读取输入。
  • scanner.nextLine() 方法用于读取一行输入,返回一个字符串。
  • scanner.nextInt() 方法用于读取整数输入。

使用 BufferedReader 类获取控制台输入

除了 Scanner 类,还可以使用 BufferedReader 类来获取控制台输入。使用 BufferedReader 可以更灵活地处理输入,尤其在需要处理大量输入时。

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

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

        System.out.print("Enter your name: ");
        String name = reader.readLine(); // 读取一行输入

        System.out.print("Enter your age: ");
        int age = Integer.parseInt(reader.readLine()); // 读取一行输入并转换为整数

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

        reader.close(); // 关闭 BufferedReader 对象
    }
}

在这个示例中:

  • BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 创建了一个 BufferedReader 对象,并使用 InputStreamReader(System.in) 将标准输入流(控制台输入)连接到 BufferedReader
  • reader.readLine() 方法用于读取一行输入,返回一个字符串。
  • 如果需要读取整数等其他类型的输入,需要进行适当的转换(例如使用 Integer.parseInt() )。

总结

以上就是两种常用的方式来获取控制台输入的方法。通常情况下,推荐使用 Scanner 类来处理控制台输入,因为它简单易用,适合大多数输入场景。而 BufferedReader 则提供了更灵活和高级的功能,适合特定的需求,比如需要更复杂的输入处理或性能要求较高的情况。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

救星

暂无简介

文章
评论
25 人气
更多

推荐作者

落墨

文章 0 评论 0

gz5281527

文章 0 评论 0

不识常识

文章 0 评论 0

动物凶猛

文章 0 评论 0

coderyrg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文