我正在解决一个编程问题,在该问题中您需要输入,并且必须将1到输入中的每个数字相加-例如,假设输入 是5:5 + 4 + 3 + 2 + 1 = 15。
为解决这个问题,我在下面尝试了这两个for循环。
//This loop worked for most inputs
int input = 12 ;
for(int i = input - 1; i > 0; i--) {
input += i;
}
System.out.println(input);
//This just produced a negative number
int input2 = 12;
for(int i = 1; i < input2;i++){
input2 += i;
}
System.out.println(input2);
尽管看起来它们应该产生相同的结果,但是只有一个循环有效,任何人都可以解释吗?
答案 0 :(得分:0)
错误在先前的答案中已经很好地定义了,我将添加以下内容:
这也可以使用ArrayList并用循环将其成员求和来解决,但这是一个过大的选择。 这使您能够删除/更改使用Java Iterator类迭代的列表的值。 正如我之前说过的,这种解决方案对于这种任务来说是过大的,但是研究可能会很有趣。
更多Java迭代器:https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html