我需要在两件事上有一些指导,computeLowestMonth方法无法正常工作,每次给我一个$ 0.00的值。我的for循环错了吗?

其次,我需要更好地理解如何找到特定月份中存储的最小值和最大值,然后打印出来。

static double computeLowestMonth(double[] monthlySales){
        double lowest = 0;
        for(int i=1; i < monthlySales.length; i++)
         {
                if (monthlySales[i] < lowest)
                    lowest = monthlySales[i];
         }
        System.out.print("Lowest Sales: \t");
        System.out.println(f.format(lowest));
        return lowest;
    }
    static void displaySaleInfo(){

    }

    public static void main(String[] args){

        getSales();
        totalSales();
        computeHighestMonth(monthlySales);
        computeLowestMonth(monthlySales);
        computeAverageSales(monthlySales);






    }//end main

}//end class

最佳答案

你开始

    double lowest = 0;


这意味着在以下循环中,将每月销售额与$ 0.00的值进行比较,这将导致NOTHING低于$ 0.00。

您需要开始

    double lowest = Double.POSITIVE_INFINITY;


它应该工作。
另一个问题是,您从索引= 1开始循环,如上面的Benjamin M所述,它应该为0。

关于java - 在并行数组中查找值JAVA初学者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31364071/

10-14 08:05