我正在创建一个应用程序,在这个类中,我有一个随机的:
public class Ejemplo extends Activity implements OnClickListener {
int ran=(int)(1*Math.random()) +1;也有这个计数器
int contador= 0; // this is just to know how many time i won然后我有两个按钮a1和a2
在我的onClick中
switch (v.getId()) {
case R.id.a1:
if(ran == 1){
a1.setText("WIN");
contador= contador + 1;
}
else{
a1.setText("0");
}
a1.setClickable(false);
break;
case R.id.a2:
if(ran == 2){
a2.setText("WIN");
contador= contador + 1;
}
else{
a2.setText("0");
}
a2.setClickable(false);
break;所以问题是,当我按下按钮:新游戏,随机将有相同的随机数,我不能再调用活动bc,我不想重置我的计数器: contador。
我怎么才能重置我的随机,所以它不总是选择相同的按钮?
发布于 2015-08-10 05:47:23
只需使用Random而不是Math.random它更容易使用,你可以像这样:
Random random = new Random(); // random generator
// then inside your onClick this code
if(random.nextBoolean()){
// win
} else {
// lose
}https://developer.android.com/reference/java/util/Random.html
编辑:
它真的比你想做的要简单得多:
public class Ejemplo extends Activity implements OnClickListener {
Random random = new Random(); // random generator
// then inside the click listener:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.a1:
if(random.nextBoolean()){
a1.setText("WIN");
contador= contador + 1;
gano();
}
else{
a1.setText("0");
}
a1.setClickable(false);
break;发布于 2015-08-10 05:45:08
将int ran=(int)(1*Math.random()) +1;放在onClick中,而不是在活动中将其声明为实例变量。所以每次点击的时候,你的ran变量都会有一个不同的值。
https://stackoverflow.com/questions/31909112
复制相似问题