Java 获取控制台输出

发布于 2024-08-18 10:03:49 字数 3027 浏览 17 评论 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技术交流群

发布评论

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

关于作者

救星

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

新人笑

文章 0 评论 0

mb_vYjKhcd3

文章 0 评论 0

小高

文章 0 评论 0

来日方长

文章 0 评论 0

哄哄

文章 0 评论 0

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