计算数组中的平均值 [英] Calculate Average in arrays

查看:67
本文介绍了计算数组中的平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用数组计算平均值.我想让程序询问成绩的数量,然后再输入成绩编号.

I want to calculate the average numbers using arrays. I want the program asks for the amount of grades and after I want to put the grade numbers.

我想以 double 的形式获得平均输出.

After I want to get the average output in a double.

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

This is my code so far:

public class Average {

    public static void main(String[] args) 
    {
        //int n = MyConsole.readInt("Enter number of grades: " );

        int a = MyConsole.readInt("Enter grade 1: " );
        int b = MyConsole.readInt("Enter grade 2: " );
        int c = MyConsole.readInt("Enter grade 3: " );

        int[] numbers = new int[]{a,b,c};
        numbers[0] = a;
        numbers[1] = b;
        numbers[2] = c;


        int sum = 0;

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

        double average = sum / numbers.length;

        System.out.println("Average value of array elements is : " + average);
    }
}

推荐答案

不知道您的类 MyConsole 在做什么,但是我猜想是 Scanner :

Don't know what your class MyConsole is doing, but I guess is a Scanner:

您改进的代码将如下所示:

Your code improved will be something like this:

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

    System.out.print("Enter number of grades: " );
    int n = sc.nextInt();

    int sum = 0;

    for (int i = 0; i < n; i++) {
        System.out.print("Enter grade "+ (i + 1) + ": ");
        int a = sc.nextInt();
        sum += a;
    }

    double average = sum / n;

    System.out.println("Average value of array elements is : " + average);
}

输出(2年级):

Enter number of grades: 2
Enter grade 1: 1
Enter grade 2: 5
Average value of array elements is : 3.0

输出(5年级):

Enter number of grades: 5
Enter grade 1: 10
Enter grade 2: 20
Enter grade 3: 30
Enter grade 4: 10
Enter grade 5: 50
Average value of array elements is : 24.0


注意

double average = sum / n;

执行int除法,因此您将没有小数位!我建议快速投放:

performs an int division, so you won't have any decimal places! I would propose a fast cast:

double average = sum / (double) n;

具有新输出:

Enter number of grades: 2
Enter grade 1: 1
Enter grade 2: 4
Average value of array elements is : 2.5


GUESS 使用您自己的课程:

public static void main(String[] args) {
    int sum = 0;

    int n = MyConsole.readInt("Enter number of grades: " );

    for (int i = 0; i < n; i++) {
        int a = MyConsole.readInt("Enter grade "+ (i + 1) + ": ");
        sum += a;
    }

    double average = sum / n;

    System.out.println("Average value of array elements is : " + average);

这篇关于计算数组中的平均值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆