6

I have the following problem: method readLine() or nextLine(), nextInt(), etc. throw an exception: NullPointerException.

I use the NetBeans IDE (if it matters).

public static void Reading()
{
    String qq;
    qq = System.console().readLine();
    System.console().printf(qq);
}
Peter Mortensen
  • 30,030
  • 21
  • 100
  • 124
Maxim Gotovchits
  • 709
  • 2
  • 10
  • 21

2 Answers2

13

Some IDEs don't provide a console. Note that System.console() returns null in these cases.

From the documentanion

Returns:

     The system console, if any, otherwise null.

You can always use System.in and System.out instead, as follows:

String qq;
Scanner scanner = new Scanner(System.in);
qq = scanner.nextLine();
System.out.println(qq);
aioobe
  • 399,198
  • 105
  • 792
  • 807
1

Two things:

  1. The standard way of printing things is System.out.println("Thing to print");
  2. The standard way of reading input off the console is: Scanner s = new Scanner(System.in); String input = s.nextLine();

So with these in mind, your code should be

public static void Reading() {
    String qq;
    Scanner s = new Scanner(System.in);
    qq = s.nextLine();
    System.out.println(qq);
    s.close();
}

or

public static void Reading() {
    String qq;
    try (Scanner s = new Scanner(System.in)) {
        qq = s.nextLine();
        System.out.println(qq);
    }
}
Nathan Wood
  • 199
  • 1
  • 12
Mshnik
  • 6,999
  • 1
  • 23
  • 37