我正在解决一个编程问题,你得到一个输入,你必须将 1 中的每个数字相加 - 例如输入到输入 为 5 :5+4+3+2+1 = 15。
为了解决这个问题,我在下面尝试了这两个循环。
//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);
只有一个循环有效,尽管似乎它们应该产生相同的结果,任何人都可以解释吗?
以前的答案中定义得很好,我只是要添加以下内容:
这也可以使用 ArrayList 并用循环对其成员求和来解决,但这将是矫枉过正。这使您能够使用 Java 迭代器类删除/更改迭代的列表的值。正如我之前所说,这个解决方案对于这样的任务来说是矫枉过正的,但研究起来可能会很有趣。
更多 Java 迭代器:https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html