我目前正在使用 IntelliJ,當我放置一個案例以在我的菜單中按下 CANCEL 選項時,會出現(xiàn)一個錯誤,提示“重復標簽 '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條經(jīng)驗 獲得超6個贊
發(fā)生這種情況是因為您無法在 switch 語句中定義具有相同值的兩個 case。
如果您查看 JOptionPane 內(nèi)部,您會看到該CANCEL_OPTION
值為 2。
這是 JOptionPane 類中顯示值的部分:
/** Return value from class method if CANCEL is chosen. */
public static final int CANCEL_OPTION = 2;
由于您已經(jīng)有了 acase 2:
并且CANCEL_OPTION
也返回了 2,因此您必須更改它。例如,如果您更改為case 6:
它會起作用。試一試。
在這里您可以看到 JOptionPane 具有的所有值,因此您可以根據(jù)其他值修改您的案例,這樣您就不會再出現(xiàn)這種重復案例錯誤。
添加回答
舉報
0/150
提交
取消