Java BinaryTree-带开关盒
Java BinaryTree-带开关盒,java,switch-statement,binary-tree,Java,Switch Statement,Binary Tree,我玩了一些二叉树,并构建了一个菜单,当我点击创建一棵树时,用户可以选择是构建一棵二叉树,向他构建的二叉树插入一个值,还是删除它。树被创建了,然后菜单又出现了,现在我想在这棵树中放一个数字,但是这个变量没有设置在案例中,每个案例应该设置它的变量吗?或者您可以使用全局变量? 这是我的菜单类代码。 import java.util.Comparator; import java.util.Scanner; public class TreeMenu { public static void
我玩了一些二叉树,并构建了一个菜单,当我点击创建一棵树时,用户可以选择是构建一棵二叉树,向他构建的二叉树插入一个值,还是删除它。树被创建了,然后菜单又出现了,现在我想在这棵树中放一个数字,但是这个变量没有设置在案例中,每个案例应该设置它的变量吗?或者您可以使用全局变量?
这是我的菜单类代码。
import java.util.Comparator;
import java.util.Scanner;
public class TreeMenu {
public static void main(String[] args) {
while(true ){
System.out.println("\n------------Menu-----------");
System.out.println("1. Create Tree");
System.out.println("2. Delete Tree");
System.out.println("3. Insert Value INTO the tree");
System.out.println("4. Exit ");
System.out.println("Please Select Your Choice");
Scanner choice = new Scanner(System.in);
int i = choice.nextInt();
if(i>0 && i<=4){
switch (i)
{
case 1:{
System.out.println("Creating a Tree Please Wait........");
Comparator comp = new IntegerComparator();
BST tree1 = new BST(comp);
break;
}
case 2:{
System.out.println("You Chose TWO");
break;
}
case 3:{
Scanner Number = new Scanner(System.in);
int num = Number.nextInt();
tree1.insert(num);
}
case 4:{
System.exit(0);
}
}
}
else{
System.out.println("There is no number in the menu like that "+i);
System.exit(0);
}
}
}
}
import java.util.Comparator;
导入java.util.Scanner;
公共类树{
公共静态void main(字符串[]args){
while(true){
System.out.println(“\n---------菜单----”;
System.out.println(“1.创建树”);
System.out.println(“2.删除树”);
System.out.println(“3.在树中插入值”);
System.out.println(“4.Exit”);
System.out.println(“请选择您的选项”);
扫描仪选择=新扫描仪(System.in);
int i=choice.nextInt();
if(i>0&&i将tree1
声明为私有全局变量
public class TreeMenu {
private static BST tree1 = null;
.....
现在在开关案例1
中实例化tree1
,然后可以在案例2中使用相同的树变量
需要注意的是,如果tree1==null
,则需要在情况2和3中执行错误检查,这意味着尚未创建树。将BST tree1
变量置于主while循环之外。