Java 在可变范围内生成两个随机数的方法
对于我的作业,我需要创建一个随机数学生成器的方法,您可以在其中练习加法、减法、乘法和除法 我需要创建一个方法,根据您正在执行的操作,该方法的范围有所不同。。比如说 1。添加问题Java 在可变范围内生成两个随机数的方法,java,random,Java,Random,对于我的作业,我需要创建一个随机数学生成器的方法,您可以在其中练习加法、减法、乘法和除法 我需要创建一个方法,根据您正在执行的操作,该方法的范围有所不同。。比如说 1。添加问题 两个操作数都应该是1到500(含)范围内的随机数 2。减法题 两个操作数都应该是1到999(含)范围内的随机数 但第二个操作数(从顶部数中减去的数)应小于或等于第一个操作数 3。乘法问题 第一个操作数(顶数)必须在1到100之间(包括1到100) 第二个操作数(底部数字)必须在1到9之间(包括1到9) 4。部
- 两个操作数都应该是1到500(含)范围内的随机数
- 两个操作数都应该是1到999(含)范围内的随机数
- 但第二个操作数(从顶部数中减去的数)应小于或等于第一个操作数
- 第一个操作数(顶数)必须在1到100之间(包括1到100)
- 第二个操作数(底部数字)必须在1到9之间(包括1到9)
- 除数(操作数2)的范围必须介于1和9之间(包括1和9)
- 被除数(操作数1)必须具有一个值,使得所得的商始终在1到50(包括1到50)的范围内
correctAnswer = firstRandomNumber + secondRandomNumber
if (userInput = correctAnswer)
{
system.out.println ("Correct!");
} else {
system.out.println ("Wrong!");
}
我该怎么做呢?这应该是一个很好的开始:
import java.util.concurrent.ThreadLocalRandom;
public class RandomNumberRange {
private int random(int min, int max) {
int number = ThreadLocalRandom.current().nextInt((max - min) + 1) + min;
return number;
}
public int[] numberforOperation(String operation) {
if (operation.equals("addition")) {
int min = 1;
int max = 500;
int[] operands = {random(min, max), random(min, max)};
return operands;
}
if (operation.equals("subtraction") {
int min = 1;
int max =999;
int minuend = random(min, max);
int subtrahend = random(min, minuend);
}
/**** etc. *** etc.***/
else (return null);
}
}
if(operation==“addition”)
不是比较字符串的正确方法-使用if(Objects.equals(operation,“addition”)
或if(operation.equals(“addition”))
如果操作
不能为空
。很遗憾,我们不允许使用数组,因为在分配任务时没有涉及数组。Erwin-关于使用equals方法非常正确。谢谢-我编辑了。关于null,它将在客户端类上推送“操作”的验证。我不想用验证代码模糊代码,也不想做我通常会做的事情,即使用enum.malsafoo-您有其他选择。我选择了一个数组,因为它是一个快速脏的数组,只是想在不复杂的情况下展示这个概念。可以创建一个类来保存操作数。如果你被允许这样做,那就更优雅了。更糟糕的情况是,创建两种方法。一个用于操作数1,一个用于操作数2。这很难看也很麻烦,但它会起作用的。对不起,我忘了最明显的工作。只需将这两个方法与其他代码放在同一个类中,并为操作数1和操作数2创建类(而不是方法)变量。这不是一个好的做法,但它很简单,而且很有效。