小免责声明我是 Java 新手,这是我正在尝试编写的第一个真正的程序。
我目前正在编写一个包含 3 个班级的程序。第一个是带有一个 JComboBox、4 个 JButton 和 20 个 JTextField 的 GUI。
第二个从 JComboBox 框中获取信息,并使用一组 if 语句为 4 个 JButton 提供标签。
第三个填充 JTextFields 当其中一个 JButton 被单击时,取决于单击的按钮和使用一组 switch 语句在 JComboBox 中的选择。
前 2 类工作正常,第三类工作正常,直到我输入 x 数量的开关,然后我开始出现错误。
我的第三类代码的一个小例子是
switch (hiddenText) {
case "Abecean Longfin":
if (command.equals("Weakness to Frost")){
gui.r1.setText("Elves Ear");
gui.r2.setText("Fire Salts");
gui.r3.setText("Ice Wraith Teeth");
gui.r4.setText("White Cap");
gui.r5.setText("");
gui.r6.setText("");
gui.r7.setText("");
gui.r8.setText("");
gui.r9.setText("");
gui.r10.setText("");
gui.r11.setText("");
gui.r12.setText("");
gui.r13.setText("");
gui.r14.setText("");
gui.r15.setText("");
gui.r16.setText("");
gui.r17.setText("");
gui.r18.setText("");
gui.r19.setText("");
gui.r20.setText("");
}
if (command.equals("Fortify Sneak")){
gui.r1.setText("Beehive Husk");
gui.r2.setText("Frost Mirriam");
gui.r3.setText("Hawk Feathers");
gui.r4.setText("Human Flesh");
gui.r5.setText("Powdered Mammoth Tusk");
gui.r6.setText("Purple Mountain Flower");
gui.r7.setText("");
gui.r8.setText("");
gui.r9.setText("");
gui.r10.setText("");
gui.r11.setText("");
gui.r12.setText("");
gui.r13.setText("");
gui.r14.setText("");
gui.r15.setText("");
gui.r16.setText("");
gui.r17.setText("");
gui.r18.setText("");
gui.r19.setText("");
gui.r20.setText("");
}
if (command.equals("Weakness to Poison")){
gui.r1.setText("Bleeding Crown");
gui.r2.setText("Chaurus Eggs");
gui.r3.setText("Deathbell");
gui.r4.setText("Giant Lichen");
gui.r5.setText("Pine Thrush Egg");
gui.r6.setText("Sabre Cat Tooth");
gui.r7.setText("Small Antlers");
gui.r8.setText("");
gui.r9.setText("");
gui.r10.setText("");
gui.r11.setText("");
gui.r12.setText("");
gui.r13.setText("");
gui.r14.setText("");
gui.r15.setText("");
gui.r16.setText("");
gui.r17.setText("");
gui.r18.setText("");
gui.r19.setText("");
gui.r20.setText("");
}
if (command.equals("Fortify Restoration")){
gui.r1.setText("Cyrodilic Spadetail");
gui.r2.setText("Salt Pile");
gui.r3.setText("Small Antlers");
gui.r4.setText("Small Pearl");
gui.r5.setText("");
gui.r6.setText("");
gui.r7.setText("");
gui.r8.setText("");
gui.r9.setText("");
gui.r10.setText("");
gui.r11.setText("");
gui.r12.setText("");
gui.r13.setText("");
gui.r14.setText("");
gui.r15.setText("");
gui.r16.setText("");
gui.r17.setText("");
gui.r18.setText("");
gui.r19.setText("");
gui.r20.setText("");
}
break;
总共有 92 个案例,每个案例有 4 个 if 语句,程序运行良好,直到我达到 57 个案例和 2 个 if 语句,然后我在 IDE 的类选项卡标题中得到一个错误符号(使用 NetBeans),但不在代码中本身。
当我编译并运行代码时,出现一个错误框,显示“一个或多个项目编译时出现错误”,但如果我选择运行,就我所见,程序将运行良好。
我尝试过以各种方式编写代码。例如,最初使用 if 语句并且最初将类 2 和 3 作为同一个类,并且在达到 x 数量的选择时我总是会遇到此错误。
在以前的版本中,我有时会在 IDE 的类选项卡标题中出现错误符号,而不是像往常一样出现在代码中,但是当尝试运行程序时它根本无法运行并给出了一些我不能的类路径错误现在似乎重现,所以无法发布确切的代码。
从我已经完成的测试中。例如,删除不同的代码部分似乎是在添加 x 数量的选项时发生的。即我可以添加第 52 个案例和第 3 个 if 语句并且出现错误,但是如果我删除了之前的 if 语句,那么有 52 个案例和 2 个 if 语句,然后一切正常。
从实验来看,我可以使用的 switch/if 语句的数量似乎是有限的,尽管从环顾四周我理论上可以有无限的数量?
所以我的问题是,我可以使用的开关/if 语句的数量是否有限制,或者当我输入 x 个开关/if 语句时是否有其他原因导致错误?