java - 计算两个用户输入之间的奇数和
问题描述
我正在尝试计算两个用户输入的数字之间的奇数之和。
这是我到目前为止的代码:
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。
我在代码中哪里出错了?
解决方案
您需要首先检查第一个数字是偶数还是奇数,因为如果它是偶数,它将对偶数而不是奇数求和,因为您在每次迭代后将“i”增加 2。尝试在 for 循环之前添加以下行。
if(num1%2==0){num1++);
推荐阅读
- angular - 角度路线和子路线管理
- git - 是否必须在 gitattributes 中为 Git 大文件存储 (LFS) 使用过滤器属性?
- rpgle - RPG 程序错误:在文件中检测到错误 MCH3601
- sql - 没有返回结果时,SQLPlus 不会在 CSV 中显示列
- angular - 在 angulat 服务中实现惰性属性以异步数据
- reactjs - React Ant Design 类型输入值不清楚
- php - 在 Laravel6+ 中生成唯一的唯一交易 ID 号
- oracle - 循环遍历固定的值列表
- r - ifelse 在 r 中的 mutate 函数中
- php - 删除行数据表后后续行的排序顺序