你好,我很难写一个函数,这个函数可以创建一个包含整数的数组,这相当于我的简单数学问题。
我的问题不是将整数添加到数组中,而是找到可能导致数学问题的正确整数。
例如,我有一个简单的数学题,比如: 10 + 10 =?我们知道它等于20
所以我想要我的数组最多容纳十个整数,当加起来等于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个整数,相当于我的数学问题答案。
**代码更新,感谢我收到的建议,我设法修复了自己的this循环,现在看起来如下所示
我不得不这样发帖,因为我的代表很低。抱歉的。
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发布于 2014-06-01 23:45:05
我认为这里有几个选项:生成等于20的随机数。
这里有一个可能的解决方案:
myArray[3] = 9;有几件事要注意:
https://stackoverflow.com/questions/23985498
复制相似问题