java中满足所有判断条件的3个if与if, else if, else
我们来举个例子,就是判断旋转数组中判断最小值
package work2;
import ;
public class RotationArrayMinElement {
public static int getMin(int[] array) {
if (null==array) {
return -1;
}else {
return getMin(array,0,-1);
}
}
public static int getMin(int[] array, int low, int high) {
if (high<low) {
return array[0];
}
else if (high==low) {
return array[low];
}
else {
int mid = (low+high)/2;
if (array[mid]>array[mid+1]) {
return array[mid+1];
}else if (array[mid-1]>array[mid]) {
return array[mid];
}else if(array[high]>array[mid]) {
return getMin(array,low,mid-1);
}else if(array[low]>array[mid]) {
return getMin(array,mid+1,high);
}else {
return (getMin(array,low,mid-1), getMin(array,mid+1,high));
}
}
}
public static void main(String [] args) {
Scanner sc= new Scanner();
int []array1 = {5,6,1,2,3,4};
((int)2.7);
(getMin(array1));
}
}
在getMin(int[] array, int low, int high)函数中,如果把high与low的判断改为3个if,就会报错,要求add return statement
有人能解释一下为啥吗