我对以下问题有问题:
到目前为止,我编写一个程序,提示用户输入整数 n。这 程序将打印以下结果:
- 1 到 n(含(之间的所有偶数之和
- 1 到 n(含(之间的所有奇数之和
拥有的代码,当我点击运行时,我得到了指数级的大数字,这些数字不断成倍增加。我知道我的代码是错误的。我不知道我做错了什么。谢谢。
package assig;
import java.util.Scanner;
public class Assignment4_Question1 {
public static void main(String[] args) {
Scanner in = new Scanner (System.in);
System.out.println("Enter an integer: ");
int n = in.nextInt();
int evenSum = 0;
int oddSum= 0;
for (int i = 1; 1<=n; i++){
if(i % 2 == 0){
evenSum = evenSum + i;
} else if (i % 2 != 0){
oddSum = oddSum + i;
}
System.out.println(evenSum);
System.out.println(oddSum);
}
}
你的循环永无止境!
for (int i = 1; 1<=n; i++)
所以你是说如果你的 n 大于 1,循环将无穷大!
for (int i = 1; i<=n; i++)
你循环的差值将一直持续到我到达n。
您必须更改:
for (int i = 1; 1<=n; i++)
自:
for (int i = 1; i<=n; i++)