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;
}
}
}
Node Класс:
public class Node {
public Comparable data;
public Node left;
public Node right;
Node(Comparable newdata) {
data = newdata;
}
}
Я пытаюсь распечатать результаты, когда я называю "печать();" в основном классе void, после вставки всех значений в дерево, но ничего не печатает. Когда я каждый раз вызываю каждый метод, они работают, но не тогда, когда я пытаюсь вызвать их из основного класса. Любые причины, почему это происходит? Большое спасибо
Голосовать за закрытие: Просить незнакомых людей обнаружить ошибки в вашем коде при осмотре неэффективно. Вы должны идентифицировать (или, по крайней мере, изолировать) проблему, используя отладчик или операторы печати, а затем вернуться с более конкретным вопросом (как только вы сузили его до 10-строчного [тестового случая] (http://sscce.org)). –
'public void main()' .. без ошибок? – vidit
Это правильно. И где я могу найти отладчика для использования? – svsav