【问题标题】:Multiple random number results多个随机数结果
【发布时间】:2020-02-05 14:40:54
【问题描述】:

目前在 Android Studio 中工作,遇到了一点麻烦。试图让我的 rollScore 按钮一遍又一遍地滚动。此时它“滚动”一次并停止。我尝试了 for 循环和 while 循环,但无法让它允许多个“滚动”。

public class GameScreen extends AppCompatActivity {

    private Button rollButton; // Roll button being declared as a variable
    private TextView rollScore; // Text view being declared as a variable
    private TextView totalSCore; //
    private int mCounter = 0;
    private int totalRuns = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_screen);

        Random randomGenerator = new Random();
        final int randomInt = randomGenerator.nextInt(7) + 1;

        rollButton = (Button) findViewById(R.id.rollButton);
        rollScore = (TextView) findViewById(R.id.rollScore);
        totalSCore = (TextView) findViewById(R.id.totalScore);



        rollButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    rollScore.setText(Integer.toString(randomInt));
                    mCounter++;

            }
        });

    }
}

【问题讨论】:

    标签: java android random


    【解决方案1】:

    您必须在每次点击按钮时生成一个新的随机数。

    像这样:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_screen);
    
        Random randomGenerator = new Random();
        int randomInt;
    
        rollButton = (Button) findViewById(R.id.rollButton);
        rollScore = (TextView) findViewById(R.id.rollScore);
        totalSCore = (TextView) findViewById(R.id.totalScore);
    
    
    
        rollButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    
                    randomInt = randomGenerator.nextInt(7) + 1;
                    rollScore.setText(Integer.toString(randomInt));
                    mCounter++;
    
            }
        });
    
    }
    

    【讨论】:

      【解决方案2】:

      您需要在每次滚动后生成一个新的随机数,例如

      rollScore.setText(Integer.toString(randomGenerator.nextInt(7) + 1));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-24
        • 2018-05-15
        • 1970-01-01
        • 1970-01-01
        • 2018-02-05
        • 2015-02-16
        • 1970-01-01
        相关资源
        最近更新 更多