当前位置: 首页 > 知识库问答 >
问题:

随机选择of、-或*,并将其应用于两个数字

周兴朝
2023-03-14

很好的一天

我是java新手,想知道是否有办法让我在乘法和加法之间随机选择并将其应用于两个数字。

任何指导将不胜感激。

共有3个答案

宋建本
2023-03-14

将运算符放入数组中并为该数组选择一个随机索引值:

String[] operators = {"+", "-", "*", "/"};
int randomOperatorIndex = new java.util.Random().nextInt(operators.length);
int num1 = 24;
int num2 = 12;
double ans = 0.0d;
switch (randomOperatorIndex) {
    case 0:   // + 
        ans = num1 + num2;
        break;
    case 1:   // - 
        ans = num1 - num2;
        break;
    case 2:   // * 
        ans = num1 * num2;
        break;
    case 3:   // / 
        ans = num1 / num2;
        break;
}
 
System.out.println(num1 + " " + operators[randomOperatorIndex] 
                   + " " + num2 + " = " + ans);
阚通
2023-03-14

您可以将所有可能的操作作为< code>BinaryOperator放入< code>List中,然后每次选择一个随机索引。

List<BinaryOperator<Integer>> ops = List.of(Integer::sum, (a,b)->a-b, (a,b)->a*b);
int a = 1, b = 2; // numbers to apply operator to
int result = ops.get(ThreadLocalRandom.current().nextInt(ops.size())).apply(a, b);
System.out.println(result);
班泽语
2023-03-14

我想像这样的代码可以工作:

// given two number a, b

double rand = Math.random();
if (rand > 0.5)
   c = a*b;
else
   c = a+b;

// c is the result of the addition/multiplication
 类似资料:
  • 我正在尝试从以下枚举中筛选,以根据随机机会选择其中一个值。 目前,我正在使用此代码选择一个值。 还有我的随机效用函数 目前,大多数情况下,它将准确地选择一个没有问题的层值。然而,大约在的时候,我会得到一个索引arrayoutofbounds。 我知道这是因为枚举中的机会分散到很远的地方(因为如果我向枚举添加更多值,机会不会像它们那样分散,那么就不会发生此异常)。 如何修复此错误?或者有更好的方法

  • 问题内容: 我有桌子 我希望从此表中至少获得30个随机物品,其中总价格等于500,那么实现此目的的最佳方法是什么? 我看过了这个解决方案,它看起来也有类似的问题。MySQL选择3个随机行,其中三行之和小于值 我想知道是否还有其他更易于实施和/或更有效的解决方案 问题答案: 如果您的产品列表满足以下 假设, 则有解决方案: 您有所有价格在0.00到500.00之间的产品。例如。0.01、0.02等至

  • 问题内容: 如何选择前5个随机元素 但它需要所有随机元素。我只想要第一个5。 还有另一种方法可以做同样的事情吗? 问题答案: 这是从jQuery选择中获取5个随机元素的方法,无需插件! 此时,您已经从jQuery返回的所有LI中随机选择了5个DomElement 然后,您可以对它们进行任何操作, 例如更改其颜色: 或显示其合并的文本内容:

  • 问题 你想从一个序列中随机抽取若干元素,或者想生成几个随机数。 解决方案 random 模块有大量的函数用来产生随机数和随机选择元素。 比如,要想从一个序列中随机的抽取一个元素,可以使用 random.choice() : >>> import random >>> values = [1, 2, 3, 4, 5, 6] >>> random.choice(values) 2 >>> random

  • 问题内容: 我有一个数字值数组,我想从该数组中随机选择一个值,然后将其插入变量中。 我不确定您需要查看什么代码。所以, 这是我用来生成13个数字(1-13)并将其插入到数组中的循环。 效果很好,但是现在我需要从该数组中选择2个随机值(然后将其插入变量中,以备后用。 我到过很多网站,已经看到了类似的事情,例如将值插入到数组中,然后用于从数组中选择值,然后从数组中删除它。但是,无论何时我使用它都行不通

  • 问题内容: 我有一种方法,它使用随机样本来近似计算。这种方法被称为数百万次,因此非常重要的是选择随机数的过程必须高效。 我不确定java到底有多快,但是我的程序似乎并没有像我期望的那样受益。 选择随机数时,我将执行以下操作(半伪代码): 现在,这显然具有最坏的最坏情况下的运行时间,因为理论上随机函数可以为永恒添加重复的数字,从而永远停留在while循环中。但是,数字是从{0..45}中选择的,因此