我对以下问题有疑问:
编写一个程序,提示用户输入一个整数,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);
}
}
答案 0 :(得分:2)
你循环永无止境!
for (int i = 1; 1<=n; i++)
所以你说如果n大于1,循环就会变为infinte!
for (int i = 1; i<=n; i++)
你在这里的不同之处将是我到达n。
答案 1 :(得分:0)
你必须改变:
for (int i = 1; 1<=n; i++)
为:
for (int i = 1; i<=n; i++)