首页 > Java > java教程 > 为什么 Java 中 System.console() 返回 Null,如何可靠地获取用户输入?

为什么 Java 中 System.console() 返回 Null,如何可靠地获取用户输入?

Barbara Streisand
发布: 2024-12-10 05:51:16
原创
334 人浏览过

Why Does System.console() Return Null in Java, and How Can I Get User Input Reliably?

在 Java 中使用 System.console() 访问用户输入

使用 Console 类检索用户输入时,您可能会遇到问题其中 System.console() 返回空值。这通常是由于控制台在某些环境中不可用,例如在集成开发环境 (IDE) 中使用 Java。

解决方案:

1 。在 IDE 外部使用 System.console():

如果代码打算在 IDE 外部运行,请使用以下方法:

System.out.print("Enter input: ");
String input = System.console().readLine();
登录后复制

2 。使用 BufferedReader:

或者,您可以使用 BufferedReader 进行输入检索,它可以在 IDE 内部和外部工作:

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

public class InputReader {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Enter string: ");
        String s = br.readLine();
        System.out.print("Enter integer: ");
        try {
            int i = Integer.parseInt(br.readLine());
        } catch(NumberFormatException nfe) {
            System.err.println("Invalid format!");
        }
    }
}
登录后复制

注意:

需要注意的是,System.console() 在用于IDE。如果必须使用System.console(),请参考McDowell提供的解决方案。

以上是为什么 Java 中 System.console() 返回 Null,如何可靠地获取用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板