【问题标题】:Method that generates two random numbers within a changeable range在可变范围内生成两个随机数的方法
【发布时间】:2018-10-29 03:52:12
【问题描述】:

对于我的作业,我需要创建一个随机数学生成器的方法,您可以在其中练习加法、减法、乘法和除法。

我需要根据你正在做的操作创建一个范围不同的方法。例如

1.加法问题

  • 两个操作数都应该是 1 到 500 范围内的随机数,包括 1 到 500

2。减法问题

  • 两个操作数都应该是 1 到 999 范围内的随机数
  • 但第二个操作数(从顶部数字中减去的数字)应小于或等于第一个操作数

3.乘法问题

  • 第一个操作数(顶部数字)必须在 1 到 100 的范围内,包括 1 到 100。
  • 第二个操作数(底部数字)必须在 1 到 9 的范围内,包括 1 到 9。

4.分区问题

  • 除数(操作数 2)的范围必须是 1 到 9,包括 1 到 9
  • 被除数(操作数 1)的值必须使所得商始终在 1 到 50 的范围内(包括 1 到 50)

然后,我会做一个类似这样的 if else 语句:

 correctAnswer = firstRandomNumber + secondRandomNumber
 if (userInput = correctAnswer) 
    { 
      system.out.println ("Correct!");
     } else {
        system.out.println ("Wrong!");
    }

我将如何继续这样做?

【问题讨论】:

标签: java random


【解决方案1】:

这应该是一个很好的起点:

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);
    }    
}

【讨论】:

  • 遗憾的是,我们不允许使用数组,因为在分配任务时没有涉及到。
  • Erwin - 关于使用 equals 方法非常正确。谢谢 - 我编辑了。关于 null 它将在客户端类推动“操作”的验证。不想用验证码混淆代码,也不想做我通常会做的事情,那就是使用枚举。
  • malsafoo - 您还有其他选择。我选择了一个数组,因为它很快很脏,只是想展示这个概念而不会变得复杂。您可以创建一个类来保存您的操作数。如果允许您这样做,那将更加优雅。更糟糕的情况,创建两个方法。一个用于操作数 1,一个用于操作数 2。它既丑陋又麻烦,但它会起作用。
  • 抱歉 - 我忘记了最明显的解决方法。只需将这两个方法与您的其他代码放在同一个类中,并为操作数 1 和操作数 2 创建类(而不是方法)变量。这不是一个好习惯,但它很简单,而且很有效。
猜你喜欢
  • 2018-04-08
  • 2010-12-24
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
相关资源
最近更新 更多