奇妙で不思議なことが私のアプレットで起こっています!それは人が数を推測することを含み、それは次に乱数と比較されます。あなたはそれが正しくなるまで推測し続けます。あなたが次のようなものを入力した場合
ewjkgmvf
NumberFormatException
入力フィールドにが表示されます。この問題を解決するために、文字列のintへの変換をtry...catchで囲みました。例外がキャッチされた場合、ラベルには「それは数字ではありません!」と表示されるはずでした。代わりに、「低すぎます。再試行してください」とだけ表示されます。これは、推測された数が少なすぎる場合にのみ発生するはずでした。私は何が間違っているのですか?
短いものなので、プログラム全体を掲載します。
これが私のコードです:
import java.awt.*;
import java.applet.*;
import java.util.Random;
public class Number_guess_applet extends Applet{
private static final long serialVersionUID = 1L;
Button btnClick;
TextField entry;
Label prompt;
String temp;
Random r = new Random();
int x = r.nextInt(100);
int number;
int keepGoing = 1;
public void init(){
prompt = new Label("Guess the number");
add(prompt);
entry = new TextField(10);
add(entry);
btnClick = new Button("Check your guess");
add(btnClick);
}
public boolean action(Event evt, Object arg){
temp = entry.getText();
try
{
number = Integer.parseInt(temp);
}
catch(java.lang.NumberFormatException e)
{
prompt.setText("That is not a number!");
}
if (x < number)
prompt.setText("Too high. Try again.");
else if (x > number)
prompt.setText("Too low. Try again.");
else if (x == number)
prompt.setText("Found it!");
else
prompt.setText("Invalid or not a number. Choose a number between 1 and 100");
return(true);
}
}