切换案例被视为具有 JOptionPane.CANCEL_OPTION 的重复标签

我目前正在使用 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);

    }

}


达令说
浏览 153回答 1
1回答

潇湘沐

发生这种情况是因为您无法在 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 具有的所有值,因此您可以根据其他值修改您的案例,这样您就不会再出现这种重复案例错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java