2014-11-04 3 views
-1

так вот мое дело, чтобы сделать длинный код коротким.Как остановить JOptionPane от выбора последнего случая?

Предположим, у нас есть JOptionPane с 3 кнопками.

boolean loopGameInterface = true; 

while(loopGameInterface){ 

int chooseGame = JOptionePane........ 

    switch(chooseGame) { 

    case 0: 


    case 1: 


    case 2: 

    System.exit(0); 

    } 

} 

Так что проблема в том, что когда я нажимаю (пример) вторую кнопку, она переходит к случаю 1. Это нормально. Но когда код внутри case 1 выполняется, он переходит непосредственно к случаю 2 и выходит из моей программы, а не просто зацикливается на gameInterface?

ответ

2

Вам необходимо добавить break; в конце каждого случая. Это справедливо для всех операторов switch, кстати, не только при использовании JOptionPane

0

Его так как вы не добавили заявление break. Если вы не добавляете перерыв, все случаи, находящиеся ниже случая, которые будут выполняться. Для например:

switch(ch) { 
    case 1: 
    /* some code without break */ 
    case 2: 
    /* some code without break */ 
    case 3: 
    System.exit(0); 
} 

В приведенном выше примере, если ch=1 тогда все case 2 также будут выполнены, а затем case 3. Если ch=2, то только case 2 и case 3 будут выполнены с case 3 ниже case 2. Поэтому вам нужно добавить break после каждого случая.

0
switch(chooseGame) { 

case 0: /* Your code */ 
     break; 
case 1: /* Your code */ 
     break; 
case 2: 
     System.exit(0); 

default : "Give some default case too" 

} 
Смежные вопросы