0
我正在通過一個Udemy課程,我們正在構建一個基本的「更高或更低」的應用程序。我的應用程序基本上可以工作,但無論我多次摧毀並重新啓動活動,它所選擇的隨機數字總是相同。類變量隨機數...總是一樣的嗎? Android系統。
我MainActivity.java
:
//mad import statements here
public class MainActivity extends AppCompatActivity {
int correctNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int correctNumber = generateNum();
}
protected int generateNum(){
Random rand = new Random();
int randNum = rand.nextInt(100);
return randNum;
}
protected void numberEval(View view) {
EditText enteredNumber = (EditText) findViewById(R.id.numberEntry);
String numberString = enteredNumber.getText().toString();
Button pressMe = (Button) findViewById(R.id.button);
int numToEval = Integer.parseInt(numberString);
String result;
TextView showWinLose = (TextView) findViewById(R.id.winLoseText);
if (numToEval > correctNumber) {
result = "Too high!";
} else if (numToEval < correctNumber) {
result = "Too Low!";
}else {
result = "You guessed it!";
}
showWinLose.setText(result);
}
}
超級超級基本的,是嗎?最初,我的numberEval()
方法調用generateNum()
,但後來我意識到它正在生成一個新的數字,以便每次按下按鈕時進行猜測。所以我把它設定在這裏,onCreate()
只生成correctNumber
一次,correctNumber
現在是一個類變量。現在,它不會爲每個按鈕點擊生成一個新號碼,但它似乎根本不會生成新號碼。無論我何時啓動,關閉,重新啓動等應用程序,它都會停留在0。
我該如何解決這個問題?提前致謝。
因爲您從未將'correctNumber'設置爲任何值。請注意,這裏有兩個變量,稱爲'correctNumber';其中一個被使用但從未設置(所以它默認爲0),另一個被設置但從未使用(除了設置它) – immibis