簡體   English   中英

取數組中元素的平均值

[英]Take the average of elements in array

因此,我明天准備進行測驗,並且正在使用數組,要求用戶要輸入多少個測試,然后要求每個測試得分。 我遇到的麻煩是對測試進行匯總,而不能匯總全部,請幫助我

import java.util.Scanner;

public class Arrays {
    public static void main(String args []){
        int numOfElements;

        Scanner input = new Scanner(System.in) ;

        System.out.println("How many tests are you going to input? ");
        numOfElements = input.nextInt();

        double array[] = new double [numOfElements];

        for (int i=0; i<array.length; i++){
            System.out.println("Enter the test # " + (i+1) + ": ");
            array[i] = input.nextDouble();
        }


        for (int i = 0; i<array.length; i++ )
        {

            System.out.print("Test #"+(i+1)+"= "+array[i] + " pts\n");

        }


        for (int m= 0; m<array.length; m++)
        {   //average value

            double sum = 0;

            sum = sum + array[m]; //get the sum\

            double average = sum / array.length; //get the average value


            //print out the sum of elements in an array

            System.out.print("Your total points are: "+sum);

            //print out the average grade

            System.out.println("Your grades is "+average +"%");
        }


    }

您的問題在這里:

double sum = 0

這會在每次循環迭代期間重置您的計數器!

因此,對於初學者來說,您必須將該語句移到for循環的前面 “平均”也一樣!

您應該在循環中總結分數。 之后 ,您將打印結果。

double sum = 0;
for (int m= 0; m<array.length; m++)
{   //average value

    sum = sum + array[m]; //get the sum\


}

double average = sum / array.length; //get the average value


//print out the sum of elements in an array

System.out.print("Your total points are: "+sum);

//print out the average grade

System.out.println("Your grades is "+average +"%");

每次迭代都會重置double sumdouble average ,將其聲明為for循環外的局部變量,並在迭代完成后打印平均值和求和

    double sum = 0;
    for (int m = 0; m < array.length; m++) {
        sum = sum + array[m];
    }
    System.out.print("Your total points are: " + sum);
    System.out.println("Your grades is " + sum / array.length + "%");

在Java8 +中

    double array[] = new double[numOfElements];
    DoubleSummaryStatistics dss = Arrays.stream(array).summaryStatistics();
    System.out.println("average " + dss.getAverage());
    System.out.println("sum " + dss.getSum());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM