2015-06-25 6 views
0

Я прочитал несколько предложенных ответов, которые они кажутся helpfuil, но слишком сложными для меня, чтобы я уверенно понимал и добавлял в свою программу.Попытка добавить минимальные и максимальные выходы

Может ли кто-нибудь предложить способы вывода min и max с 1-го и 2-го лет продаж?

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"); 
    } 

} 

ответ

0

Чтобы получить максимальные и минимальные продажи ваших массивов, вы можете использовать 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]); 
+0

Это действительно имеет смысл, мне строго разрешено использовать утилиту сканера, к сожалению, поэтому не удалось использовать утилиту сортировки массива. Есть ли более простой способ? – r0wl4nd

0

Для получения минимального значения, просто держать 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); 
Смежные вопросы