【发布时间】:2019-05-17 17:35:26
【问题描述】:
我正在 Udemy 学习 Java 课程。我们有一个挑战问题,我理解了大部分代码,但不是这个:sum= 0;
我在 Udemy 上问过老师,但没有答案。
所以这是挑战: 用一个 int 参数编写一个名为 isOdd 的方法并将其命名为 number。该方法需要返回一个布尔值。检查数字是否 > 0,如果不是则返回 false。 编写第二个名为 sumOdd 的方法,它有 2 个 int 参数:start 和 end,它们代表一个数字范围。 该方法应使用 for 循环对该范围内的所有奇数求和,包括“结束”并返回总和。 该方法称为 isOdd 以检查每个数字是否为奇数。 参数 end 必须大于等于 start 且 start 和 end 参数都必须大于 0。
如果不满足这些方法,则返回-1。
在 udemy 的挑战中,如果我不输入 sum = 0 即: sum = 10 它会给出错误。我不明白为什么 sum = 0?
class SumOddRange {
public static void main(String[] args) {
sumOdd(15, 13);
isOdd(10);
}
public static boolean isOdd(int number) {
if (number < 0) {
return false;
} else if (number % 2 != 0) {
return true;
} else {
return false;
}
}
public static int sumOdd(int start, int end) {
if((end < start) || (start <= 0)) {
return -1;}
int sum = 0;
for (int i = start; i <= end; i++) {
if (isOdd(i)) {
sum += i;
}
}
return sum;
}
}
【问题讨论】:
-
@forpas 从什么时候开始
-
@Michael 我的评论少了一些!!!!!
-
@forpas 你的意思是
15 ! ! ! ! ! < 13?为什么要使用这么多逻辑非? -
"int是程序员最常用来存储整数值的值,其范围从-2147486648到2147486647,默认初始化值为0"
-
是的,@YSCGProAn,但无关紧要。特别是,关于默认初始化值的部分仅适用于默认初始化本身适用的情况,不包括局部变量。
标签: java