首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重置随机生成器Android

重置随机生成器Android
EN

Stack Overflow用户
提问于 2015-08-10 05:41:01
回答 2查看 911关注 0票数 0

我正在创建一个应用程序,在这个类中,我有一个随机的:

代码语言:javascript
复制
public class Ejemplo extends Activity implements OnClickListener {
 int ran=(int)(1*Math.random()) +1;

也有这个计数器

代码语言:javascript
复制
int contador= 0; // this is just to know how many time i won

然后我有两个按钮a1和a2

在我的onClick中

代码语言:javascript
复制
     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。

我怎么才能重置我的随机,所以它不总是选择相同的按钮?

EN

回答 2

Stack Overflow用户

发布于 2015-08-10 05:47:23

只需使用Random而不是Math.random它更容易使用,你可以像这样:

代码语言:javascript
复制
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

编辑:

它真的比你想做的要简单得多:

代码语言:javascript
复制
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;
票数 2
EN

Stack Overflow用户

发布于 2015-08-10 05:45:08

int ran=(int)(1*Math.random()) +1;放在onClick中,而不是在活动中将其声明为实例变量。所以每次点击的时候,你的ran变量都会有一个不同的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31909112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档