我是Android开发的新手,目前正致力于一个简单的应用程序,除其他外,每次都需要使用随机运算符(+, - ,*,/)生成随机数。我有一个“生成”按钮,每次按下它时都会给出不同的问题。我知道如何生成随机数,但我不知道如何生成随机运算符,以便每次都有不同的问题。我尝试使用switch语句但到目前为止还没有成功(或者我在其中缺少代码)。有人可以帮忙吗?提前谢谢。
这是我到目前为止的代码:
private void goGenerate(){
num1 = (int)(Math.random()*10) + 1;
num2 = (int)(Math.random()*10) + 1;
generate();
}
private void generate() {
StringBuilder equation = new StringBuilder();
goGenerate();
operator = (int)(Math.random() *4 ) + 1;
equation.append(num1);
if(operator == 1) {
equation.append("+");
result = num1 + num2;
}
else if(operator == 2) {
equation.append("-");
result = num1-num2;
}
else if(operator == 3) {
equation.append("*");
result = num1 * num2;
}
else if(operator == 4) {
equation.append("/");
while((num1 % num2 != 0) && (num1 < num2)) {
generate();
}
result = num1 / num2;
}
textViewOperation.setText(operator);
答案 0 :(得分:1)
制作两个随机例程,一个用于您的编号,一个用于限制为0-3,其中您将每个可能的数字(0到3)与操作员相关联。然后它完成了。祝你好运。
编辑(可行):
int operator, num1, num2, result;
StringBuilder equation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView tv1 = (TextView) findViewById(R.id.tv1);
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
generate();
tv1.setText(String.valueOf(result));
}
});
}
private Integer generate() {
equation = new StringBuilder();
num1 = (int)(Math.random()*10) + 1;
num2 = (int)(Math.random()*10) + 1;
operator = new Random().nextInt(4);
equation.append(num1);
if (operator == 1) {
equation.append("+");
result = num1 + num2;
} else if (operator == 2) {
equation.append("-");
result = num1 - num2;
} else if (operator == 3) {
equation.append("*");
result = num1 * num2;
} else if (operator == 4) {
equation.append("/");
while ((num1 % num2 != 0) && (num1 < num2)) {
generate();
}
result = num1 / num2;
}
return result;
}}