Ich stieß auf ein Debugging-Problem, als ich Programm-Grüße Binärbaum machte. In der Hauptmethode meines Programms benutze ich Konstruktor, um einen Knoten mit dem Namen root
zu erstellen, danach verwende ich getKey()
Methode, um den Schlüssel der "previous
" zu bekommen, die auf "root" beziehen sollte.binärer Baum seltsames Debugging
Hier ist mein Code:
/**
* BinaryTreeExample from Internet
* @author xinruchen
*
*/
import java.util.*;
public class BinaryTreeExample
{
private static Node root;
public BinaryTreeExample(int data)
{
root = new Node(data);
}
public void add(Node parent,Node child, String orientation)
{
if(orientation=="left")
{
parent.setLeft(child);
}
else if (orientation=="right")
{
parent.setRight(child);
}
}
public static void main(String ar[])
{
Scanner sc = new Scanner(System.in);
int times = sc.nextInt();
BinaryTreeExample l1=new BinaryTreeExample(3);
Node previous = root;
String direction = "";
System.out.println(previous.getKey());
}
}
class Node {
private int key;
private Node left;
private Node right;
Node (int key) {
this.key = key;
right = null;
left = null;
} // constructor
public void setKey(int key) {
this.key = key;
}
public int getKey() {
return key;
}
public void setLeft(Node l) {
if (left == null) {
this.left = l;
}
else {
left.left = l;
}
}
public Node getLeft() {
return left;
}
public void setRight(Node r) {
if (right == null) {
this.right = r;
}
else {
right.right = r;
}
}
public Node getRight() {
return right;
}
}
Wenn alle Dinge gehen, wie erwartet, es sollte Ausgang "3", aber es gibt stattdessen nichts. Ich habe meinen Code überprüft und den Codefluss verfolgt und kann immer noch nicht herausfinden, wo das Problem liegt. Bitte hilf mir, danke!
korrigierte Grammatik –