我需要编写一个if语句,当int d在int e的10%范围内时,我返回字符串“Close String”。这就是我现在所拥有的:
public String game(double d, double e) {
if((d>=.95*e)||(d<=e*1.05)) {
return "close string";
} else {
return "other";
}
}
测试案例
String game = game(100.0d, 90.0d);
System.out.println(game);
game = game(100.0d, 99.0d);
System.out.println(game);
game = game(100.0d, 100.0d);
System.out.println(game);
预期输出
other
close string
close string
当前输出
close string
close string
close string
错误在哪里?
答案 0 :(得分:3)
我不确定你究竟在问什么,但我认为你想要而不是或者。
(a>=.95*b)||(a<=b*1.05)
然后,a可以是任何数字,因为它将比b低5%,或者低于b 5%,只要它是实数。
(a>=.95*b)&&(a<=b*1.05)
a只能在+或 - 5%
之内