case 6:
case 7:
case 8:
JOptionPane.showMessageDialog(null,"That is totally unbelieveable.");
break;
これは仕事をします。
ただし、次のように変更します。
case 4: JOptionPane.showMessageDialog(null,"Four dogs is too many."); break;
case 5: JOptionPane.showMessageDialog(null,"Five dogs means you're a crazy person."); break;
default: JOptionPane.showMessageDialog(null,"That is totally unbelieveable.");break;
これにより、無効な出力メッセージがなくなりますが、5 を超えるすべての数値で機能しますが、dogs の値はInteger.parseInt()
呼び出しから出てくるので、これは許容できると思います。コンテンツが無効な場合、そこに例外がスローされ、無効な入力メッセージが例外ハンドラー内に表示される可能性があります。同様に、dogs が負の場合は例外がスローされます。
これには、あらゆる数の犬に有効な利点があります。別のエラー メッセージを管理する必要がある場合は、特定のcase
ブランチを追加するだけで十分です。
int dogs;
try {
dogs = Integer.parseInt(JOptionPane.showInputDialog("How many dogs do you have?"));
if (dogs < 0) {
throw new Exception("Negative dog is impossible!");
}
switch (dogs)
{
...
...
...
case 4: JOptionPane.showMessageDialog(null,"Four dogs is too many."); break;
case 5: JOptionPane.showMessageDialog(null,"Five dogs means you're a crazy person."); break;
default: JOptionPane.showMessageDialog(null,"That is totally unbelieveable.");break;
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Invalid input.");
}