public double maxProduct(double[] arr) { double count = 1 ; //假设最大值为arr[0] double resultMax = arr[0]; for(int i = 0 ; i < arr.length ;i++){ count = arr[i]; // 每次先与arr[i]进行比较 resultMax = Math.max(resultMax,count); for(int j = i+1 ; j < arr.length ; j++){ if (arr[j] != 0){ count *= arr[j]; resultMax = Math.max(resultMax,count); }else { //连续 即如果存在一个数为0则最大的连续数字串肯定为0,所以不需要继续比较后续的值 break; } } } return resultMax; }