我目前正在使用 IntelliJ,当我放置一个案例以在我的菜单中按下 CANCEL 选项时,会出现一个错误,提示“重复标签 '2'”。import javax.swing.*;public class Main { public static void main(String[] args){ int choice=0; Object menu= "1. Name Constructor\n" + "2. Pretty Printing of text\n" + "3. FLAMES\n" + "4. Your Superhero name!\n" + "5. return to the main menu\n"; do { choice = Integer.parseInt(JOptionPane.showInputDialog(null, "S T R I N G M A N I P U L A T I O N M E N U\n" + menu, "Menu", 1)); switch (choice) { case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; case JOptionPane.CANCEL_OPTION: break; default: JOptionPane.showMessageDialog(null,"Enter a valid choice.","Error",1); break; } }while(choice!=5); }}
1 回答

潇湘沐
TA贡献1816条经验 获得超6个赞
发生这种情况是因为您无法在 switch 语句中定义具有相同值的两个 case。
如果您查看 JOptionPane 内部,您会看到该CANCEL_OPTION
值为 2。
这是 JOptionPane 类中显示值的部分:
/** Return value from class method if CANCEL is chosen. */
public static final int CANCEL_OPTION = 2;
由于您已经有了 acase 2:
并且CANCEL_OPTION
也返回了 2,因此您必须更改它。例如,如果您更改为case 6:
它会起作用。试一试。
在这里您可以看到 JOptionPane 具有的所有值,因此您可以根据其他值修改您的案例,这样您就不会再出现这种重复案例错误。
添加回答
举报
0/150
提交
取消