メニューの選択肢を読んで、2 と 5 以外の任意の数字を入力します。
String choice = promptUser(choicePrompt);
try {
outputInfo(String.format("choice=...%s...",choice));
int c = Integer.parseInt(choice);
/* process it */
}catch (NumberFormatException e) {
outputInfo(String.format("choice=%s",choice));
outputInfo(e.toString());
}
public static void outputInfo(String msg)
{
System.out.printf("\t%s\n",msg);
}
良い出力:
Enter Option: 1
choice=...1...
悪い出力:
Enter Option: 2
choice=...2...
choice=2
java.lang.NumberFormatException: For input string: ""
アップデート:
「2」をハードコーディングしましたが、それでも失敗します!:
String choice = promptUser(choicePrompt);
try {
choice="2";
outputInfo(String.format("choice=...%s...",choice));
int c = Integer.parseInt(choice);
/* process it */
}catch (NumberFormatException e) {
outputInfo(String.format("choice=%s",choice));
outputInfo(e.toString());
}
ハードコーディング「5」も失敗しますが、「1」は機能します!!!
どんなアイデアもありがたく受け取った。
サイモン