控制台行抛出NullPointerException?

时间:2015-03-13 10:29:43

标签: java nullpointerexception console

我正在进行涉及使用二叉树的任务,但我们给出的示例程序并不起作用(很高兴知道这个小程序在被赋予易受影响的思想之前已经过测试)。它在行上输出NullPointerException" info.name = input.readLine("输入学生ID:");"

import java.io.*;

class BinaryTree1
{   

  public static void main(String[] args) throws IOException
  {
Console input = System.console();
String line = new String();

Student info;
info = new Student();
Student root;
root=null;
System.out.println("Input student name followed by mark 10 times;");    
for(int i = 1; i < 10; i++)
{       
    info.name= input.readLine("Enter student ID: ");
    line = input.readLine();
    info.id = Integer.parseInt(line);
    root=addNode(root, info);
}

  }


  static Student addNode(Student root, Student info)
  {
if(root == null)
{
    root= new Student();
    root.left = null;
    root.right = null;
    root.name = info.name;
    root.id = info.id;
}
else
{
    if(info.id < root.id)
        root.left = addNode(root.left, info);
    else    //(info.id > root.id)
        root.right = addNode(root.right, info);
   } 
return root;
  }

}

1 个答案:

答案 0 :(得分:0)

使用System.console()在IDE中不起作用。它只能在IDE之外使用

而是像这样使用Scanner。

Scanner s=new Scanner(System.in);
String p=s.nextLine();

如果你想使用Console,请阅读此内容。http://illegalargumentexception.blogspot.com/2010/09/java-systemconsole-ides-and-testing.html

注意:IDE控制台内部为空