获取控制台输入的方式

本文介绍了两种在Java中从控制台获取输入的方法:使用Scanner和BufferedReader。通过示例代码展示了它们的用法,帮助理解不同输入方式的适用场景。

方法1:通过Scanner

Scanner in = new Scanner(System.in);

方法2:通过BufferedReader

BufferedReader bfIn = new BufferedReader(new InputStreamReader(System.in));

示例

package com.heu.wsq.basic;

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

/**
 * @author wsq
 * @date 2021/1/16
 */
public class ConsoleInput {
    public static void main(String[] args) {
        // 方法1:Scanner
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        System.out.println(s);

        // 方法2:BufferReader
        BufferedReader bfIn = new BufferedReader(new InputStreamReader(System.in));
        try {
            String ss = bfIn.readLine();
            System.out.println(ss);
        } catch (IOException e) {
            // IOException 是受检查的异常
            e.printStackTrace();
        }
    }
}

Java中,有多种方式可以从控制台读取用户输入,以下是几种常见的实现方法: ### 使用 `Scanner` 类 `Scanner` 类是 Java 5 引入的一个非常方便的工具类,用于解析基本类型和字符串的输入。以下是一个简单的示例,演示如何读取用户的字符串输入: ```java import java.util.Scanner; public class ScannerExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String input = scanner.nextLine(); System.out.println("您输入的是:" + input); } } ``` 这种方法简洁明了,适合大多数控制台输入场景[^3]。 --- ### 使用 `BufferedReader` 和 `InputStreamReader` 这是一种较为经典的方法,适合在旧版本的 Java 中使用,同时也适合处理更复杂的输入流操作。以下是一个示例代码: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class BufferedReaderExample { public static void main(String[] args) { try { InputStreamReader is_reader = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is_reader); System.out.println("请输入内容:"); String str = br.readLine(); System.out.println("您输入的是:" + str); } catch (IOException e) { e.printStackTrace(); } } } ``` 这种方法在处理输入时更加灵活,尤其是在需要读取大量输入或处理异常时[^2]。 --- ### 使用 `System.console()` `System.console()` 是 Java 6 引入的方法,适用于需要从控制台直接读取输入的场景。它提供了一个更直接的接口来获取用户输入: ```java public class ConsoleExample { public static void main(String[] args) { java.io.Console console = System.console(); if (console != null) { String input = console.readLine("请输入内容:"); System.out.println("您输入的是:" + input); } else { System.out.println("控制台不可用"); } } } ``` 这种方法在某些安全性和交互性要求较高的场景中更为适用[^1]。 --- ### 输入验证示例 如果需要确保输入的是整数(例如获取用户的年龄),可以使用正则表达式进行验证。以下是一个简单的验证方法: ```java import java.util.Scanner; public class InputValidationExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input; do { System.out.print("请输入您的年龄:"); input = scanner.nextLine(); } while (!input.matches("\\d+")); // 验证是否为数字 int age = Integer.parseInt(input); System.out.println("您输入的年龄是:" + age); } } ``` 此方法确保用户输入的是合法的数字,避免了非法值的问题[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值