生成三个随机数,总和添加到 java 中的预定义值,其中 3 个数字存储在 3 个不同的文本字段中?

Generate three Random numbers with sum add to predefined value in java, where 3 numbers stored in 3 different textfields?

我的输出包含 3 个文本字段,当给定 N 值时(doClick() 函数自动点击 3 个文本字段),然后它在三个文本字段中随机生成 3 个数字,我的代码只生成随机数,但我想要那些随机生成的数字恰好加起来等于给定的 N.

示例:当 N=20 那么可能的答案可以是:

1.10,10,0 即(textfield1 显示 10,textfield2 显示 10,textfiled3 显示 0,其总和等于给定 N)

2.15,3,2

3.10,5,5

随机数可以是任何正整数,但加起来应该等于给定的 N。

请帮忙。

您可以使用 Math.random() 而不是随机 class。 Math.random() returns 0 和 1 之间的双精度数。所以你唯一要做的就是将 Math.random() 的结果乘以 N。下一个数字将是 N 减去你的N减去前一个结果的结果。

final int N = 20;
final int result0 = (int) (Math.random() * N);
final int result1 = (int) (Math.random() * (N - result0));
final int result2 = N - result0 - result1;

编辑:您也可以随机选择第一个、第二个和第三个参数。