在BubbleSort方法之后找到平均值

时间:2017-11-15 14:42:39

标签: integer average

我是一名IT学生,我真的需要完成这段代码的编写,我几乎已经完成了它,它使用冒泡排序对数字进行排序但事情是,我们必须在最后找到平均值,并且我不知道该怎么做。有谁能够帮我? 我的代码看起来像这样,直到这里它也有效,我只需要将其余的添加到它:

public static void main(String[] args) {
    int num, i, j;
    double temp;
    @SuppressWarnings("resource")
    Scanner input = new Scanner(System.in);

    System.out.println("Enter the amount of Numbers you want to sort:");
    num = input.nextInt();

    double array[] = new double[num];

    System.out.println("Enter " + num + " Number: ");

    for (i = 0; i < num; i++)
        array[i] = input.nextDouble();

    for (i = 0; i < (num - 1); i++) {
        for (j = 0; j < num - i - 1; j++) {
            if (array[j] > array[j + 1]) {
                temp = array[j];
                array[j] = array[j + 1];
                array[j + 1] = temp;
            }
        }
    }

    System.out.println("Sorted list:");

    for (i = 0; i < num; i++)
        System.out.println(array[i]);
}

}

谢谢:)

2 个答案:

答案 0 :(得分:0)

 int avg = 0;   
 for (i = 0; i < num; i++) {
     avg = avg + array[i];
 }
 avg = avg / array.length();

答案 1 :(得分:0)

你只需要编辑一下。只需在程序中添加一个变量平均值,如果需要整数平均值,则添加int变量;如果需要精确结果,则添加浮点数(如下面的代码所示)。将所有元素求和为变量sum(整数元素),然后除以元素总数(基本数学!!!)。就是这样,打印它就完成了。

你的程序应该如下:

public static void main(String[] args) {
int num, i, j, sum=0;
float avg=0;
double temp;
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);

System.out.println("Enter the amount of Numbers you want to sort:");
num = input.nextInt();

double array[] = new double[num];

System.out.println("Enter " + num + " Number: ");

for (i = 0; i < num; i++)
    array[i] = input.nextDouble();

for (i = 0; i < (num - 1); i++) {
    for (j = 0; j < num - i - 1; j++) {
        if (array[j] > array[j + 1]) {
            temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
        }
    }
}

System.out.println("Sorted list:");

for (i = 0; i < num; i++)
    System.out.println(array[i]);

for (i = 0; i < num; i++)
 sum = sum+array[i];
avg=sum/num;
System.out.println("Average : "+avg);
 }
}