Случаи в switch/case
оцениваются в порядке их размещения. default
соответствует всем случаям. Поскольку у вас есть этот первый случай, и этот случай что-то делает, прежде чем вырваться из него, остальные случаи никогда не будут достигнуты. Попробуйте вместо этого:
case 1: JOptionPane.showMessageDialog(null,"c=a+b"); break;
case 2: JOptionPane.showMessageDialog(null,"c=a/b"); break;
case 3: JOptionPane.showMessageDialog(null,"c=a*b"); break;
case 4: JOptionPane.showMessageDialog(null,"c=a-b"); break;
default: JOptionPane.showMessageDialog(null,"fail"); break;
Ваш код нигде не показывает петлю while
. Возможно, вы сможете обновить код, который вы пытались.