java“变量可能尚未初始化”在何处使用开关盒进行初始化?
您好,我是新来的编码,所以很抱歉,如果这没有意义或是愚蠢的问题
我希望我的主函数从命令行获取参数来调用某些方法。我得到了错误"Variable 'newTree' might not have been initialized"
,我理解(我想),但我不知道如何着手修复它。我希望newTree对象在两个命令之间保持不变(即,如果第一个命令是init add 1 add 5
,第二个命令是add 6
,它将添加6在前一个命令中创建的树),直到输入init命令创建一个新的空树。我没有在init案例之外初始化实例,因为我认为它会在每次调用类时创建一个新对象,而不仅仅是在init作为参数输入时
非常感谢您的帮助,谢谢
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
switch (args[i]) {
case "init":
Tree newTree = new Tree();
break;
case "add":
newTree.add(args[i++]);
break;
case "remove":
newTree.remove();
break;
case "show":
newTree.showTree(root);
break;
}
}
}
# 1 楼答案
只需将初始化添加到null。即使你这样做,init case也必须出现,否则应用程序将崩溃
# 2 楼答案
问题很简单:想想如果用户作为参数传递会发生什么
要解决这个问题,你可以
init
命令):