import java.util.Scanner;
public class OddSum {
public static void main(String[] args) {
int num;
int i = 1;
int sum = 0;
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
num = input.nextInt();
input.close();
while (i<=num) {
i += 2;
sum +=i;
}
System.out.println("The sum of odd numbers between 1 and" + num + "is: " + sum);
}
}
私は、このコードを書いて、1から奇数の数字を入力しました。 私が8を入力すると、出力は16になり、出力は24になります。 何が問題になったのか教えてください。1から入力された数字までの奇数の合計が、期待したものと一致しないのはなぜですか?
さて、あなたは私をインクリメントする前に合計する追加する必要があります。 – Li357
'i + = 2;'は 'sum + = i;の後にする必要があります。代わりに' for'ループを使います。 – 4castle
@ 4castle、ループの使用は過剰です、それは簡単に数式で計算することができます... –