Java 我想在单击按钮时生成一个随机数,但变量超出范围。我该如何解决这个问题?
我正在尝试在android studio上制作一个应用程序。我有一个按钮,按下时会产生一个新的随机数。如何将新生成的号码传递给代码Java 我想在单击按钮时生成一个随机数,但变量超出范围。我该如何解决这个问题?,java,android,android-developer-api,Java,Android,Android Developer Api,我正在尝试在android studio上制作一个应用程序。我有一个按钮,按下时会产生一个新的随机数。如何将新生成的号码传递给代码 public class MainActivity extends AppCompatActivity { Random rand = new Random(); public void NewNumOnClick (View view){ int RandomNumberGenerated = 1+ rand.nextInt(20);
public class MainActivity extends AppCompatActivity {
Random rand = new Random();
public void NewNumOnClick (View view){
int RandomNumberGenerated = 1+ rand.nextInt(20);
}
public void GuessOnClick(View view){
EditText numberGuessed = (EditText) findViewById(R.id.numberGuessedET);
int input = Integer.parseInt(numberGuessed.getText().toString());
Log.i("Status : " , "The user entered " + input);
if (input > 20 || input < 1){
Toast.makeText(this,"The number you entered is out of range. Please enter #1-20", Toast.LENGTH_LONG).show();
}
if (RandomNumberGenerated == input){
Toast.makeText(this,"YOU GUESSED IT RIGHT!", Toast.LENGTH_LONG).show();
}
if(input > RandomNumberGenerated){
Toast.makeText(this,"Try a lower number", Toast.LENGTH_LONG).show();
}
if (input < RandomNumberGenerated)
Toast.makeText(this,"Try a higher number", Toast.LENGTH_LONG).show();
}
public类MainActivity扩展了AppCompatActivity{
Random rand=新的Random();
公共void NewNumOnClick(视图){
int RandomNumberGenerated=1+rand.nextInt(20);
}
公共void GuessOnClick(视图){
EditText NumberGuesed=(EditText)findViewById(R.id.NumberGuesedET);
int input=Integer.parseInt(numberguesed.getText().toString());
Log.i(“状态:”,“用户输入”+输入);
如果(输入>20 | |输入<1){
Toast.makeText(此“您输入的数字超出范围。请输入#1-20”,Toast.LENGTH_LONG)。show();
}
if(RandomNumberGenerated==输入){
Toast.makeText(这是“你猜对了!”,Toast.LENGTH\u LONG.show();
}
如果(输入>随机数生成){
Toast.makeText(这是“尝试一个较低的数字”,Toast.LENGTH_LONG.show();
}
如果(输入<随机数生成)
Toast.makeText(这是“尝试更高的数字”,Toast.LENGTH_LONG.show();
}
GuessOnClick函数不知道RandomNumberGenerated变量。如何使用指针?这能解决问题吗?只需在活动中将int RandomNumberGenerated声明为字段或成员变量
public class MainActivity extends AppCompatActivity {
Random rand = new Random();
int mRandomNumberGenerated;
...........
Java不支持指针。将
RandomNumberGenerated
设置为MainActivity
类上的一个字段,而不是一个局部变量。然后,该类中的其他方法可以引用它。(此外,Java惯例是以小写形式开始变量和字段名:RandomNumberGenerated
)说真的,您知道如何处理对象成员随机rand
,但不知道如何在不同范围内共享变量。可能存在重复的