system.console.readline()抛出空指针异常

时间:2018-03-06 10:38:15

标签: java

我使用以下简单代码从控制台读取一行字符串但得到nullpointerexception,你能帮忙:

import java.io.Console;

public class readline_String {

    public static void main(String[] args)
    {
        // TODO Auto-generated method stub

        //String str=System.console().readLine();
        System.out.println("Enter an input string:");
        Console c=System.console();
        String str=c.readLine();
        System.out.println("The input string is:");
        System.out.println(str);

    }

}

2 个答案:

答案 0 :(得分:2)

用以下代码替换您的代码:

    System.out.println("Enter an input string:");
    Scanner sc = new Scanner(System.in);
    String str = sc.nextLine();
    System.out.println("The input string is:");
    System.out.println(str);

答案 1 :(得分:2)

如果您在IDE中尝试(例如:NetBeans),它可能会显示NullPointerException

它在cmd中显示正确的输出: 代码:

public class InputConsole {
    public static void main(String[] args) {
        System.out.print("Enter something:");
String input = System.console().readLine();
        System.out.println("input: "+input);
    }
}

输出:

enter image description here

或者您可以使用Scanner或BufferedReader