我的小應用程序正在發生一些奇怪而神祕的事情!它涉及一個人猜測一個數字,然後與一個隨機數進行比較。你一直猜測,直到你做對了。如果輸入類似Java applet發生奇怪的事情try/catch語句
ewjkgmvf
,你會得到在輸入字段NumberFormatException
。爲了解決這個問題,我使用try ... catch將字符串轉向int。如果發現異常,標籤應該顯示「這不是一個數字!」。相反,它只是說「太低,再試一次」,只有當你的猜測數量太低時纔會發生。我究竟做錯了什麼?
我會發布整個程序,因爲它只是一個短的。
這裏是我的代碼:
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);
}
}
那麼如何重新啓動小程序?有沒有內置的方法? – imulsion 2012-08-02 16:03:16