猿问

如何在点击监听器上刷新随机数?

我设法创建了一个简单的猜谜游戏(这很好用),唯一的问题是我似乎无法刷新我一开始生成的随机数。(当他们猜对了数字时)


import java.util.Random;


public class MainActivity extends AppCompatActivity {


private TextView hint;

private Button enterGuess;

private EditText chosenNumber;


Random rand = new Random();

int secretNumber = rand.nextInt(99) + 1;


@Override

protected void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);



    enterGuess = findViewById(R.id.buttonEnter);

    chosenNumber = findViewById(R.id.etEnterNumber);

    hint = findViewById(R.id.tvHint);


    final String hintHigh = "Guess Higher";

    final String hintLow = "Guess Lower";

    final String correctGuess = "Correct! Guess the new number!";



    enterGuess.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {


            int number = Integer.parseInt(chosenNumber.getText().toString());


            if (number < secretNumber){

                hint.setText(hintHigh);

            }

            else if (number > secretNumber) {

                hint.setText(hintLow);

            }

            else {

                hint.setText(correctGuess);


                Random rand = new Random();

                int secretNumber = rand.nextInt(99) + 1;


            }

        }

    });

}

}


神不在的星期二
浏览 149回答 2
2回答

幕布斯6054654

您应该更新您的实例变量 secretNumber,因此在您的 onClick() 方法中:this.secretNumber&nbsp;=&nbsp;rand.nextInt(99)&nbsp;+&nbsp;1;

慕标5832272

不要在每次希望重新启动游戏时都创建新的 Random 实例。只需在您已有的实例上调用 nextInt(99) 即可。
随时随地看视频慕课网APP

相关分类

Java
我要回答