我正在为欧拉项目进行数学挑战,并且在运行程序时遇到了一个奇怪的问题。结果应该是所有奇数之和,最高为10,000,000,但是我得到一个负数,我在做什么错?
package program;
import java.util.*;
public class MainClass {
/**
* @param args
*/
public static void main(String[] args) {
int total = 0;
for (int counter = 1; counter < 10000000; counter++) {
if (!((counter % 2) == 0)) {
total+=counter;
}
}
System.out.println(total);
}
}
最佳答案
使用long
而不是int
。由于整数溢出,您得到一个负数。
关于java - Java-添加所有奇数奇怪的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10057628/