java - 用户输入Java

标签 java input io nullpointerexception

我正在使用 Java(使用 NetBeans)构建一个应用程序,该应用程序通过控制台接受用户输入并使用其名称(在用户输入中给出)打印出一条语句。代码如下:

package amazingpets;
import java.io.Console;

public class AmazingPets {

    public static void main(String[] args) {
        Console console = System.console();
        String firstName = console.readLine("What is your name? ");
        console.printf("My name is %s.\n",firstName);
    } 
}

但是我在控制台中不断收到以下错误:

Exception in thread "main" java.lang.NullPointerException
at amazingpets.AmazingPets.main(AmazingPets.java:14)
Java Result: 1

有人可以建议一个可能的解决方案吗?

最佳答案

来自 System#console 的文档,它返回:

The system console, if any, otherwise null.

所以你的代码相当于:

String firstName = null.readLine("What is your name? ");

我建议您改用Scanner Scanner = new Scanner(System.in);

关于java - 用户输入Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30417588/

相关文章:

java - 在 Android JUnit 类中测试 EditText 输入的首选方法

java - 使用 ActiveMQ 在客户端和服务器之间传输图像

java - 奇怪的是,String.split 的操作与用户输入不同

c - while循环中读入

java - 存储这些数据的最佳方法是什么?

java - PrintWriter 类的反面是什么?

java - 是否可以使用 JpaRepository 在 Spring Data JPA 中使用 "TRUNCATE"?或者比标准 deleteAll() 更有效的方法?

java - 打印二维阵列的方法

c++ - 为什么 std::cin 的提取器操作符等待用户输入?

android - 在appwidget中输入