计算月份& Java月度销售额

时间:2015-07-13 07:28:47

标签: java arrays methods

computeHighestMonth(monthlySales)

此方法接收月销售数组作为参数。此方法将搜索并比较每月销售数组的值以获得最高值。该方法将返回具有最高值的月份的索引(或数组中的位置)。

我拥有它以便显示最高销量,但我无法弄清楚如何包含月份名称。

public static double computeHighestMonth(double[] monthlySales)
{
    double highestSales = 0;
    for (int index = 0; index < monthlySales.length; index++)
    {
        if (monthlySales[index] > highestSales)
        highestSales = monthlySales[index];
    }
    return highestSales;
}

5 个答案:

答案 0 :(得分:0)

您不仅应该保留最高销售额,还应该保存存储它的索引值。这意味着你应该声明一个应该每次更新的整数

monthlySales[index] > highestSales

是真的。这样你就可以保留哪个是“月号”,之后你应该转换成你需要的字符串。

希望这有帮助!

答案 1 :(得分:0)

您还需要保存索引:

public static double computeHighestMonth(double[] monthlySales)
{
    double highestSales = 0;
    int month = 0;
    for (int index = 0; index < monthlySales.length; index++)
    {
        if (monthlySales[index] > highestSales){
            highestSales = monthlySales[index];
            month = index + 1;
       }
    }
    System.out.print("The salary was highest on: ");
    switch(month){
        case 1: System.out.println("January");
        case 2: System.out.println("February");
        etc.
    }
        return highestSales;
}

答案 2 :(得分:0)

只需返回highestSales,您只需返回此值的索引,然后使用此索引即可提供月份和最高值:

public static int computeHighestMonth(double[] monthlySales) {
    double highestIndex = 0;
    for (int index = 0; index < monthlySales.length; index++) {
        if (monthlySales[index] > monthlySales[highestIndex])
        highestIndex = index;
    }
    return highestIndex;
}

然后使用返回的值来获取月份及其值,如下所示:

highestIndex = computeHighestMonth(monthlySales);
System.out.println("the highest value is: "+monthlySales[highestIndex]+" of the month "+highestIndex+1);

答案 3 :(得分:0)

如果您的monthlySales数组是List<Double>,会更容易,因为您可以使用

List<Double> monthlySales = ...;
Double highestSales  = Collections.max(monthlySales);

答案 4 :(得分:0)

这将为您提供String月份,即1月,2月等。根据您的要求而不是您返回double,您可以返回键值对或{{1}例如String

month + " had the highest sales " + highestSales