Java 计算数组中的平均值

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/36645213/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-11 18:30:44  来源:igfitidea点击:

Calculate Average in arrays

javaarraysaverage

提问by itay izraelov

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.

我想使用数组计算平均数。我希望程序要求提供成绩数量,然后在我想输入成绩编号之后。

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

在我想在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);
    }
}

采纳答案by Jordi Castilla

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

不知道你的班级MyConsole在做什么,但我猜是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);
}

OUTPUT(2 grades):

输出(2级):

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

OUTPUT(5 grades):

输出(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


NOTE

笔记

double average = sum / n;

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

执行 int 除法,所以你不会有任何小数位!我建议快速转换:

double average = sum / (double) n;

With new output:

新的输出:

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


GUESSusing your own class:

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

回答by itay izraelov

thank you ! Sorry for the poor explanation. This is my first question

谢谢你 !对不起,解释不好。这是我的第一个问题

this it the code after edit:

这是编辑后的代码:

import java.util.Scanner;

public class Average {

    public static void main(String[] args) 
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter number of grades: ");
        int n = sc.nextInt();
        int sum = 0;

        int[] numbers = new int[n];

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

        double average = sum / (double) n;

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

回答by May noor

Program to Calculate Average Using Arrays:

使用数组计算平均值的程序:

public class Inter1 { //name of the class

public class Inter1 { //类名

public static void main(String[] args) {//main method 

int  number[]={40,56,23,56,87,23,78}; //declaring  the int array
int sum=0;
for (int s:number){ //for each 
    sum +=s;
}
int ave=sum/number.length; //to get the average
    System.out.println("the average is "+ave); //out put 
 }    
}

回答by May noor

public class Inter1 { //name of the class

    public static void main(String[] args) { //main method

        System.out.println("==============================");

        int num[]={34,56,78,78,34,2,33,99,100,56}; //int array 
        int total=0;
        for (int i=0;i<num.length;i++){ //for loop
            total+=num[i];
        }

        int avrage1=total/num.length; //output
                System.out.println("The average is "+avrage1);

     }    
}

回答by May noor

package inter1;

import static java.time.Clock.system; import java.util.Scanner;

导入静态 java.time.Clock.system; 导入 java.util.Scanner;

public class Inter1 {

公共类 Inter1 {

public static void main(String[] args) {
Scanner in = new Scanner (System.in);
int total=0;
    System.out.println("Enter how many number that do u wanna enter ?? ");
    int num= in.nextInt();
    int numbers[]=new int[num];
    for (int i=0;i<numbers.length;i++){
        System.out.println(i+1+":"+"enter the your numbers ? ");
        numbers[i]=in.nextInt();
    }
    for (int i=0;i<numbers.length;i++){
        total+=numbers[i];
    }
    int average =total/numbers.length;
    System.out.println("the average is "+average);

 }    
}