我正在进行涉及使用二叉树的任务,但我们给出的示例程序并不起作用(很高兴知道这个小程序在被赋予易受影响的思想之前已经过测试)。它在行上输出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;
}
}
答案 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控制台内部为空