计算数组中的平均值

时间:2016-04-15 10:52:14

标签: java arrays average

我想用数组计算平均数。我希望程序要求成绩数量,并在我想要提供成绩数字之后。

我希望获得double的平均输出。

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

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

5 个答案:

答案 0 :(得分:5)

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

OUTPUT (2 grades):

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

OUTPUT (5 grades):

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:

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

GUESS using your own class:

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

公共类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 
 }    
}

答案 3 :(得分:0)

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

     }    
}

答案 4 :(得分:0)

package inter1;

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

公共类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);

 }    
}