【问题标题】:Trying to add minimum and maximum outputs尝试添加最小和最大输出
【发布时间】:2015-09-12 04:48:36
【问题描述】:

我已经阅读了一些建议的答案,它们似乎很有帮助,但对于我来说太复杂了,无法自信地理解并添加到我的程序中。

谁能建议从第一年和第二年的销售数据中输出最小值和最大值的方法?

import java.util.Scanner;

public class assignment2
{

    public static void main(String[] args)
    {
        Scanner keyboard = new Scanner(System.in);

        System.out.println("Welcome!\n");
        System.out.println("Month 0 - January");
        System.out.println("Month 11 - December\n");
        System.out.println("MonthNo(year1)\tSales made\n");

        double sales[] = { 60, 54, 62, 67, 54, 67, 51, 50, 62, 55, 49, 70 };
        int sum = 0;
        int average12 = 0;

        for (int counter = 0; counter < sales.length; counter++)
        {
            sum += sales[counter];
            System.out.println(counter + "\t\t\t\t\t\t" + sales[counter]);
        }

        System.out.println("\nTotal year 1 sales " + sum + "\n");

 /////////////////////////////////////////////////////////////////

    System.out.println("MonthNo(year2)\tSales made\n");

    double sales2[] = { 59, 43, 48, 51, 49, 57, 39, 42, 54, 51, 60, 62 };
    int sum2 = 0;

for (int counter = 0; counter < sales2.length; counter++)
        {
        sum2 += sales2[counter];
        System.out.println(counter + "\t\t\t\t\t\t" + sales2[counter]);
    }

    System.out.println("\nTotal year 2 sales " + sum2 + "\n");
  }

}

【问题讨论】:

    标签: java max min


    【解决方案1】:

    要获得数组的最大和最小销售额,您可以使用java.util.Arrays.sort 对数组进行排序,然后最小销售额将是数组的第一个元素,最大销售额将是数组的最后一个元素。

    例子-

    Arrays.sort(sales);
    System.out.println("\nLowest Sales Year1 " + sales[0]);
    System.out.println("\nHighest Sales Year1 " + sales[sales.length-1]);
    Arrays.sort(sales2);
    System.out.println("\nLowest Sales Year2 " + sales2[0]);
    System.out.println("\nHighest Sales Year2 " + sales2[sales2.length-1]);
    

    【讨论】:

    • 这确实有道理,不幸的是,我只能使用扫描仪实用程序,因此无法使用数组排序实用程序。有没有更简单的方法?
    【解决方案2】:

    为了获得最小值,只需保留一个currentMin,每次迭代时,您都会比较循环中的当前值sales[counter]currentMin。从这里,你应该可以得到max

    double currentMin = sales[0];
    for (int counter = 0; counter < sales.length; counter++) {
       sum += sales[counter];
       System.out.println(counter + "\t\t\t\t\t\t" + sales[counter]);
    
       //compare
       if(sales[counter] < currentMin) {
          currentMin = sales[counter];
       }
    }
    System.out.println("Min is " + currentMin);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-08
      • 2012-10-09
      • 2013-02-26
      • 2022-01-10
      • 2021-01-08
      • 2021-08-31
      • 2016-03-18
      • 1970-01-01
      相关资源
      最近更新 更多