Java,平均数字列表

jai*_*lob 0 java average

在以下Java代码中,我的平均温度是小数点后1位.

例如,而不是69.0它的6.9.

输入可以是任何10个数字.所以我要说输入10个温度,每个1个是10度.10个输入的总数是100,所以平均值应该是10,但我的平均值是1.0.

码:

import java.util.Scanner;
public class NumberAboveAverage {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        final int TotalTemps = 10;
        double[] numbers = new double[TotalTemps];
        double sum = 0;
        double average = 0;
        double max = 0;
        for (int n = 0; n < numbers.length; n++) {
            System.out.print("Enter a temperature: ");
            numbers[n] = input.nextInt();

            if (numbers[n] > max) {
               max = numbers[n];
            }
            sum = numbers[n];
        }

        for (int i = 0; i < numbers.length; i++) {
            sum = numbers[i];
        }

        average = sum / 10;    //average is not an average of the numbers.
        System.out.println("Average temp = " + average);

        int count = 0;
        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] > average) {
               count++;
            }
        }
        System.out.println(count + " days were above average");
    }
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*ner 10

你实际上并没有把这些数字加在一起.

它应该是 sum += numbers[i];

sum = numbers[i];

你似乎也试图这样做两次,这是不必要的.