2
이 메인 클래스입니다 :인쇄되지 않는 이유는 무엇입니까?
import javax.swing.*;
class BinarySearchTree {
private Node root;
public void main()
{
int Value = 0;
while(Value!= -1)
{
Value = Integer.parseInt(JOptionPane.showInputDialog("Enter a value"));
insert(root, Value);
}
print();
}
public void insert(Comparable x)
{
root = insert(root, x);
}
public boolean find(Comparable x)
{
return find(root,x);
}
public void print()
{
print(root);
}
@SuppressWarnings("unchecked")
boolean find(Node tree, Comparable x)
{
if (tree == null)
return false;
if (x.compareTo(tree.data) == 0)
return true;
if (x.compareTo(tree.data) < 0)
return find(tree.left, x);
else
return find(tree.right, x);
}
void print(Node tree)
{
if (tree != null)
{
print(tree.left);
System.out.println(tree.data);
print(tree.right);
}
}
@SuppressWarnings("unchecked")
Node insert(Node tree, Comparable x)
{
if (tree == null)
{
return new Node(x);
}
if (x.compareTo(tree.data) < 0)
{
tree.left = insert(tree.left, x);
return tree;
}
else
{
tree.right = insert(tree.right, x);
return tree;
}
}
}
노드 클래스 :
내가 호출 할 때 결과를 출력하려고public class Node {
public Comparable data;
public Node left;
public Node right;
Node(Comparable newdata) {
data = newdata;
}
}
"인쇄();" void 기본 클래스에서 모든 값을 트리에 삽입 한 후 아무 것도 인쇄하지 않습니다. 개별 메서드를 개별적으로 호출하면 작동하지만, 주 클래스에서 호출하려고하면 그렇지 않습니다. 이런 일이 일어나는 이유는 무엇입니까? 감사합니다.
투표의 여지가 남기십시오 : 검사로 코드의 오류를 찾아내는 낯선 사람에게 생산성을 높이는 것은 좋지 않습니다. 디버거 나 print 문을 사용하여 문제를 확인 (또는 적어도 격리) 한 다음보다 구체적인 질문으로 돌아 가야합니다 (10 줄 [테스트 케이스] (http : /sscce.org)). –
'public void main()'.. 아무런 오류가 없습니까? – vidit
맞습니다. 그리고 어디에서 디버거를 사용할 수 있습니까? – svsav