我在 Hyperskill 网站上解决难题。在解决一个的过程中,出现了“代码的清洁度”的问题。
我创建了一种方法来检查x三次方程的根:
static boolean checkRoot(int a, int b, int c, int d, int x) {
if (a * x * x * x + b * x * x + c * x + d == 0) {
return true;
} else {
return false;
}
}
在解决的过程中,该方法是正常使用的,但我得到一个备注:
返回布尔值时避免 if 不必要的..then..else 语句
一旦我开始用 else 删除看似不必要的部分,就会立即弹出一个错误:
编译错误 Main.java:52: 错误:缺少返回语句 } ^1 错误
我不明白 - 这是系统的错误,你需要写信给支持,或者真的,方法
static boolean checkRoot(int a, int b, int c, int d, int x) {
if (a * x * x * x + b * x * x + c * x + d == 0) {
return true;
}
}
设置不正确?
您的条件语句本身返回一个布尔值,因此您只需要返回条件语句括号中的任何值。您的最后一个选项无法编译,因为您仅在满足指定条件时才返回 true,并且在不满足该条件时丢失了 return 语句,因此出现编译时错误。一切都很简单)