这里有什么问题?
随机数效果很好。
检查零件编号也很有效。
但是当我输入一个随机选择的相同数字时,总是“Toast Bad”。
代码: http: //pastebin.com/0pdySnW9
抱歉,我无法在此处粘贴代码。
这里有什么问题?
随机数效果很好。
检查零件编号也很有效。
但是当我输入一个随机选择的相同数字时,总是“Toast Bad”。
代码: http: //pastebin.com/0pdySnW9
抱歉,我无法在此处粘贴代码。
在您的onClick
方法中,您实际上是在生成另一个随机数。
因此,您输入的数字不会等于随机数,因为它不是屏幕上显示的数字。
根据您要实现的目标..删除第 32 行,并创建random
一个全局变量。
在您的 onClick 中,您正在使用此行生成一个新的随机数
int random = random();
您应该使您的随机变量成为成员变量,以便可以在整个活动中访问它而无需更改
前任
public class MainActivity extends Activity implements OnClickListener {
private TextView display;
private Button ok;
public EditText et;
private int random; //note this is now a member variable
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ok = (Button) findViewById(R.id.button1);
ok.setOnClickListener(this);
display = (TextView) findViewById(R.id.textView1);
et = (EditText) findViewById(R.id.etNumbers);
random = random();
display.setText("Random Number:" + random); // Show the random number
}
// ************RANDOM******************************
public static int random() {
Random generator = new Random();
int x = generator.nextInt(100);
return x;
}
// ************************************************
public void onClick(View v) {
// TODO Auto-generated method stub
int numberEntered = -1;
try {
numberEntered = Integer.parseInt(et.getText().toString());
} catch (NumberFormatException nfe) {
Toast.makeText(et.getContext(), "That's not a number!",
Toast.LENGTH_LONG).show();
}
if (random == numberEntered) {
Toast.makeText(et.getContext(), "Great!", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(et.getContext(), "Bad!", Toast.LENGTH_LONG).show();
}
}
}