Java 开关盒被视为具有JOptionPane.CANCEL\u选项的重复标签
我目前正在使用IntelliJ,当我在菜单中放置按下取消选项的案例时,出现一个错误,显示“重复标签'2'”Java 开关盒被视为具有JOptionPane.CANCEL\u选项的重复标签,java,switch-statement,joptionpane,Java,Switch Statement,Joptionpane,我目前正在使用IntelliJ,当我在菜单中放置按下取消选项的案例时,出现一个错误,显示“重复标签'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 tex
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);
}
}
这是因为不能在switch语句中定义具有相同值的两种情况 如果查看JOptionPane内部,您将看到
CANCEL\u选项的值为2
以下是JOptionPane类中显示值的部分:
/**如果选择了取消,则从类方法返回值*/
公共静态最终整数取消选项=2代码>
由于您已经有一个案例2:
,并且取消\u选项也返回2,因此您必须更改它。例如,如果您更改为案例6:
,它将起作用。试试看
您可以看到JOptionPane具有的所有值,因此您可以根据其他值修改案例,这样就不会再出现重复案例错误