我怎么用不同的方法写这个?

use*_*083 5 java methods

我有一个java项目,我被告知写一个程序,要求用户输入一些天和温度.从那里我必须找到平均温度,高于平均温度的天数,以及从最高到最低的温度分类.*我已成功完成所有这些事情,但是,我的教授要求我通过创建单独的方法来简化我的代码.例如,有一个超过平均值的方法,等等.虽然我理解这个概念,但我不确定如何接近并采用这种方式.*请帮忙?

这是我到目前为止的代码:

import java.util.Scanner;

public class NumberAboveAverage {

    /**
     * @param args
     */
    public static void main(String[] args) {

        System.out.println("Enter number of days of temperature to calculate:");
        Scanner keyboard = new Scanner(System. in);
        int day = keyboard.nextInt();
        int[] temperature = new int[day];

        System.out.println("Enter " + day + " temperatures to calculate.");

        for(int i=0; i<day; i++){
            temperature[i] = keyboard.nextInt();
        }

        int sum = 0;
        for(int i=0; i<day; i++){
            sum = sum + temperature[i];

        }

        int average = sum/day;
        System.out.println("The average temperature is: " + average); 

        int daysOver=0;
        for(int i=0; i<day; i++){
            if (temperature[i] > average){
                daysOver++;
            }   
        }
        System.out.println("The temperature was above average for " + daysOver + " day(s).");


            for (int i = 0; i < temperature.length; i++) {
                int min = i;
                for (int j = i; j < temperature.length; j++) {
                    if (temperature[j] < temperature[min])
                        min = j;
                }
                int temp;
                temp = temperature[i];
                temperature[i] = temperature[min];
                temperature[min] = temp;
            }

    System.out.print("The temperatures in increasing order are: ");
    for(int i=0; i<day; i++){
        System.out.print(temperature[i]+" ");
    }

}   
}
Run Code Online (Sandbox Code Playgroud)

Yog*_*ngh 0

您可能希望以单独的方法执行一项任务,如下所示:

 public static void main(String[] args) {
    int[] temperature = new int[1];
    Scanner keyboard = new Scanner(System. in);
    readTemperatures(keyboard, temperature);
    int sum = getSum(temperature);
    int average = sum/temperature.length;
    System.out.println("The average temperature is: " + average); 
    int daysOver=getDaysOver(temperature, average);
    System.out.println("The temperature was above average for " 
                                                         + daysOver + " day(s).");
    sortTemperature(temperature);
    printTemperature(temperature);
 }
Run Code Online (Sandbox Code Playgroud)

并创建方法如下:

private static void printTemperature(int[] temperature) {
    System.out.print("The temperatures in increasing order are: ");
     for(int i=0; i<temperature.length; i++){
        System.out.print(temperature[i]+" ");
     }
}

private static void readTemperatures(Scanner keyboard, int[] temperature){
       System.out.println("Enter number of days of temperature to calculate:");
       int day = keyboard.nextInt();
       temperature = new int[day];
       System.out.println("Enter " + day + " temperatures to calculate.");
       for(int i=0; i<day; i++){
        temperature[i] = keyboard.nextInt();
       }
}
Run Code Online (Sandbox Code Playgroud)

完成其余方法。