【发布时间】:2016-03-31 03:15:59
【问题描述】:
我无法理解为什么我的代码无法解决我正在尝试解决的问题。
问题: 给定 2 个正 int 值,返回 10..20 范围内的较大值,如果两者都不在该范围内,则返回 0。
我的代码:
public int max1020(int a, int b) {
int max;
if((a<10 || a>20) && (b<10 || b>20)) {
max = 0;
}
if(Math.max(a,b) >= 10 && Math.max(a,b) <= 20) {
max = Math.max(a,b);
} else {
max = Math.min(a,b);
}
return max;
}
除了 a = 9 和 b = 21 时,每个数字都有效,我只是不明白。我哪里做错了?
【问题讨论】:
-
使用调试器单步调试您的代码。
-
返回 0 而不是将 max 设置为 0
-
非常感谢大家的帮助。我知道我现在哪里出错了。