线程"main"中的异常java.lang.NullPointerException - Package

K.H*_*nda 4 java nullpointerexception package

我正在阅读OCA Java SE 7学习指南并正在阅读包.但是,我在Eclipse中输入相同的代码,在本书中找到但是我收到了这个错误.错误是

com.ocaj.exam.tutorial.MainClass.main(MainClass.java:12)中线程"main"java.lang.NullPointerException中的异常

这是我的代码......

package com.ocaj.exam.tutorial;     //Package statement

//Imports class ArrayList from the java.util package
import java.util.ArrayList;
//Imports all classes from the java.io package
import java.io.*;

public class MainClass {
public static void main(String[] args) {
        //Creates console from java.io package
    Console console = System.console();
    String planet = console.readLine("\nEnter your favourite planet: ");
        //Creates list for planets
    ArrayList planetList = new ArrayList();
    planetList.add(planet);             //Adds users input into the list
    planetList.add("Gliese 581 c");     //Adds a string to the list
    System.out.println("\nTwo cool planets: " + planetList);
}
}
Run Code Online (Sandbox Code Playgroud)

非常感谢

Rei*_*eus 6

System.console可以返回,null具体取决于JVM运行的环境.

来自javadoc

如果没有可用的控制台设备,则调用该方法将返回null.

Eclipse是这些环境下,当一个System.console返回null,因为它典型地使用javaw其犯规具有相关联的控制台窗口.

使用java.util.Scanner而不是没有这样的限制.

Scanner scanner = new Scanner(System.in);
String planet = scanner.nextLine();
Run Code Online (Sandbox Code Playgroud)