【问题标题】:How to hand out a number randomly between variables in Java? [closed]如何在Java中的变量之间随机分配一个数字? [关闭]
【发布时间】:2018-04-07 19:45:24
【问题描述】:

我想在 4 个变量之间随机分配数字 5。

例如:

之前:

int a = 0;
int b = 0;
int c = 0;
int d = 0;

之后:

int a = 2;
int b = 0;
int c = 1;
int d = 2;

int a = 0;
int b = 3;
int c = 0;
int d = 2;

或任何东西,但最重要的是 a+b+c+d 必须等于 5 。

感谢您的回答!

【问题讨论】:

标签: java variables random


【解决方案1】:
  1. 您将a 设置为介于05 之间的随机数。
  2. 您将b 设置为05 - a 之间的随机数
  3. 您将c 设置为05 - a - b 之间的随机数
  4. 您将d 设置为5 - a - b - c

因此,您得到 4 个数字,总和为 5。

为了避免无聊并在 Stack Overflow 上重复大量关于在给定范围内查找数字的问题,这将是那里的一个子任务,这里有一个链接:How do I generate random integers within a specific range in Java?

【讨论】:

  • 警告:这不会使数字均匀分布,因为 c 很可能有比 a 更小的数字范围。
【解决方案2】:

你可以用这个

    Random random =  new Random();

    int a = random.nextInt(5);
    int b = random.nextInt(5 - a);
    int c = random.nextInt(5 - a - b);
    int d = 5 - (a + b + c);

    System.out.print("a : " + a  +
            "\nb : " + b+
            "\nc : " + c+
            "\nd : " + d +
            "\n\nTotal : " + (a+b+c+d)); \\total will be 5

【讨论】:

    猜你喜欢
    • 2020-01-23
    • 2013-03-22
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多