是否有一种方法可以使用用户输入从非原语数据类型添加值?



所以我只是在我的项目中工作关于二叉搜索树,我试图从youtube教程中获得关于BST的代码,并决定尝试使用java扫描仪进行用户输入。所以我的问题是,是否有一种方法可以使用用户输入从非原始数据类型添加值?

主类

BST类

我尝试在youtube教程中的insert()方法中添加nextInt()方法,以便用户可以输入他们喜欢的数字。但是ide说int不能转换为Node(我认为这是一种非基本数据类型)。

如果您修改了BinarySearchTree中的insert方法,以便它可以将数字作为输入并从中生成Node,那么您的代码将正常工作。试试这样:

public class Temp {
public static void main(String[] args) {
BinarySearchTree tree = new BinarySearchTree();
Scanner sc = new Scanner(System.in);
System.out.println("Enter 1st number you want to insert");
tree.insert(sc.nextInt());
System.out.println("Enter 2nd number you want to insert");
tree.insert(sc.nextInt());
System.out.println("Enter 3rd number you want to insert");
tree.insert(sc.nextInt());
}
}
class Node {
Node left;
int val;
Node right;
Node(int val) {
this.val = val;
}
}
class BinarySearchTree {
Node root;
public void insert(int key) {
Node node = new Node(key);
if (root == null) {
root = node;
return;
}
Node prev = null;
Node temp = root;
while (temp != null) {
if (temp.val > key) {
prev = temp;
temp = temp.left;
} else if (temp.val < key) {
prev = temp;
temp = temp.right;
}
}
if (prev.val > key)
prev.left = node;
else
prev.right = node;
}
}

最新更新