我当前正在使用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);
}
}
答案 0 :(得分:1)
之所以发生这种情况,是因为您不能在switch语句中定义两个具有相同值的案例。
如果在JOptionPane中查看,您会发现CANCEL_OPTION
的值为2。
这是显示值的JOptionPane类的一部分:
/** Return value from class method if CANCEL is chosen. */
public static final int CANCEL_OPTION = 2;
由于您已经拥有case 2:
,并且CANCEL_OPTION
也返回2,因此您必须对其进行更改。例如,如果更改为case 6:
,它将起作用。试试看。
here,您可以看到JOptionPane具有的所有值,因此可以根据其他值修改大小写,这样就不会再出现这种重复的大小写错误。