我目前正在學習Android,我在Java中有很好的基礎。在onCreate中聲明的隨機整數
我嘗試使用的onCreate下面的代碼來獲得一個隨機整數(1-20):
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int randomNumber = (int)(Math.random()*20)+1;
}
而且在我的MainActivity類別:
public class MainActivity extends AppCompatActivity {
int randomNumber;
它不工作,我只能得到0作爲隨機數。
但是如果我不申報我的隨機整數上onCreat但只有在Mainactivity,它的工作原理:
public class MainActivity extends AppCompatActivity {
int randomNumber=(int)(Math.random()*20)+1;
最後,如果我用另一種方式來獲得有關的onCreate宣佈一個隨機數,它的工作原理如圖所示如下:
public class MainActivity extends AppCompatActivity {
int randomNumber;
....
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Random rand = new Random();
randomNumber=rand.nextInt(20)+1;
}
}
我不明白爲什麼我不能在onCreate方法中聲明我的隨機數。使用Math.random,但與rand.nextInt一起工作,無論如何,我能夠使用其他代碼,但我想明白爲什麼。
OnClick方法代碼未顯示。
您發佈的第一個onCreate方法是否屬於MainActivity? – FWeigl
是的,它確實屬於MainActivity – dcvman