首页 > 解决方案 > 计算两个用户输入之间的奇数和

问题描述

我正在尝试计算两个用户输入的数字之间的奇数之和。

这是我到目前为止的代码:

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print("#1: ");
        int num1 = s.nextInt();
        System.out.print("#2: ");
        int num2 = s.nextInt();

        int sum = 0;

        for (int i = num1; i <= num2; i += 2) {
            sum = sum + i;
        }

        System.out.print(sum);
    }
}

当我输入 3 和 11 时,它输出 35,这是正确的。

但是,对于 4 和 20,它会输出 108,这是不正确的。它应该是 96。

我在代码中哪里出错了?

标签: javasumnumbers

解决方案


您需要首先检查第一个数字是偶数还是奇数,因为如果它是偶数,它将对偶数而不是奇数求和,因为您在每次迭代后将“i”增加 2。尝试在 for 循环之前添加以下行。

if(num1%2==0){num1++);

推荐阅读