如果数组中前4个元素之一是9,则该方法应该返回true。数组长度可能小于4.在我的方法中,出于某种原因,我总是收到“缺少返回语句错误”。为什么我会收到“缺少返回语句”错误?
public boolean arrayFront9(int[] nums) {
if (nums.length < 4) {
int counter = 0;
while (counter != nums.length) {
if (nums[counter] == 9) {
return true;
}else{
counter = counter + 1;
}
} if (counter > nums.length) {
return false;
}
}else{
int counter = 0;
while (counter <= 4) {
if (nums[counter] == 9) {
return true;
}else{
counter = counter + 1;
} if (counter > 4) {
return false;
}
}
}
}
`
我明白我必须确保,无论什么代码已经具备一定的返回值,但如果和else语句给出数组的长度或者是小于4或者大于或等于4,那么无论呈现什么数组,它都应该输入这些条件之一?
所有的返回值都在if语句中,并且编译器确定您有可能返回任何内容的逻辑路径。在方法的末尾添加一个默认的return语句。 –
Java不会查看while/if的条件,以查看它们可以编译多少次。它所知道的是,“一个while循环可能执行0-N次”,等等 – yshavit