gpt4 book ai didi

java - 如何创建等于某个值的整数数组?

转载 作者:行者123 更新时间:2023-11-30 03:52:45 24 4
gpt4 key购买 nike

你好,我在尝试编写一个函数来创建一个包含整数的数组时遇到了困难,这相当于我的简单数学问题。

我的问题不是将整数添加到数组中,而是找到可以加起来构成数学问题的正确整数。

例如,我有一个简单的数学问题,例如:10 + 10 = ?我们知道它等于 20

所以我希望我的数组最多能容纳 10 个整数,加起来等于 20。

这是我在代码中尝试过的,但没有得到我想要的结果。

    while (totalCount != answer
&& count < setCount) {

randomNumber = rand.nextInt((int) answer / 2) + 1;

if(count < setCount) {
sumOfBalloons.add(randomNumber);
totalCount += randomNumber;
count++;
}

if(totalCount > answer) {
count = 0;
totalCount = 0;
sumOfBalloons.clear();
}
}

我正在尝试找到与数学问题答案相加的随机数,以便我可以将它们画在气球上。问题是我永远无法得到十个数字来等于我的 while 循环中的答案。

有人知道做这样的事情的方法吗?

需要数组来保存 3 - 10 个等于我的数学问题答案的整数。

<小时/>

** 更新代码,感谢我收到的建议,我设法修复了 while 循环,现在看起来像这样

不得不这样发帖,因为我的代表很低。抱歉。

    while (totalCount != answer) {

randomNumber = rand.nextInt((int) answer / 2) + 1;

if(totalCount + randomNumber > answer) {
randomNumber = rand.nextInt((int) answer - totalCount) + 1;
}

if(count + 1 == setCount) {
randomNumber = answer - totalCount;
}

if(count < setCount) {
sumOfBalloons.add(randomNumber);
totalCount += randomNumber;
count++;
}

if(totalCount > answer
|| totalCount == answer
&& count < setCount
|| totalCount != answer
&& count == setCount) {
count = 0;
totalCount = 0;
sumOfBalloons.clear();
}
}

这是我从这段代码中在控制台中得到的内容

 Total count = 10
Total totalCount = 20
sumOfBalloons 0 = 2
sumOfBalloons 1 = 3
sumOfBalloons 2 = 3
sumOfBalloons 3 = 2
sumOfBalloons 4 = 1
sumOfBalloons 5 = 4
sumOfBalloons 6 = 2
sumOfBalloons 7 = 1
sumOfBalloons 8 = 1
sumOfBalloons 9 = 1

最佳答案

我认为这里有几个选项:生成总和为 20 的随机数。

这是一种可能的解决方案:

  1. 例如,创建一个长度为 4 的数组。

  2. 为数组的前 3 个索引生成 1 到 6 之间的随机数。

    此时,您将拥有一个以下形式的数组:{ 4, 5, 2, _ }(其中尚未选择我们的第四个元素)。

  3. 对前 3 个元素求和:4 + 5 + 2 = 11。通过计算 20 - current_total (11) = 9 确定第 4 个元素。

  4. 设置myArray[3] = 9;

需要注意的几点:

  • 您可能需要修改我给出的可能的随机数范围 ( 1-6 )。考虑一下如果我们生成的数组是 { 2, 1, 2, _ } 会发生什么...然后没有数字可以确保元素之和为 20。

  • 另一种选择是使用 arrayList 而不是数组。这样做的好处是,您可以继续向 arrayList 添加元素,直到达到 20 个(然后完成)或结束(在这种情况下,您删除最新的元素并开始再次添加)。您也不需要(或能够)提前知道 arrayList 的长度。

关于java - 如何创建等于某个值的整数数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23985498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com