我是Java的新手,我正在开发一个数字猜测游戏。当我点击随机按钮时,我得到一个随机数,但是当我第二次尝试时,第二个和第一个随机数是相同的。
我该如何解决?这是我的代码:
int KullaniciTahmini;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView Sayi = (TextView) findViewById(R.id.Sayi);
Button Tamam = (Button) findViewById(R.id.Tamam);
final Button Rastgele = (Button) findViewById(R.id.Rastgele);
final EditText Tahmin = (EditText) findViewById(R.id.Tahmin);
final int gizliSayi = 0 + (int)(Math.random() * 100);
Rastgele.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int random = (int)(Math.random() * 100);
Sayi.setText("Lutfen 0 ile 100 arasinda bir deger giriniz!");
}
});
Tamam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int KullaniciTahmini = Integer.parseInt(Tahmin.getText().toString());
if (KullaniciTahmini < gizliSayi) {
Sayi.setText("Degeri Buyult");
}
if (KullaniciTahmini > gizliSayi) {
Sayi.setText("Degeri Kucult");
}
if (KullaniciTahmini == gizliSayi) {
Sayi.setText("Dogru Cevap!");
}
}
});
}
答案 0 :(得分:0)
您只能在gizliSayi
中分配onCreate
一次:
final int gizliSayi = 0 + (int)(Math.random() * 100);
我认为您要删除final
,然后通过更改此行来更新Rastgele.setOnClickListener
中的值:
int random = (int)(Math.random() * 100);
到此:
gizliSayi = (int)(Math.random() * 100);