Java 找到未排序数组的平均值和中位数
在Java中,数组是一个对象。它是一种非原始数据类型,用于存储相同数据类型的值。
根据问题的陈述,我们必须找到未排序数组在Java中的平均值和中位数。
数组的平均值可以通过计算数组中所有元素的平均值来得到。
Mean= (sum of all elements present in array) / (total number of elements present)
中数组的中位数表示在一个奇数个元素排序的数组中找到的中间元素,如果排序的数组包含偶数个元素,则可以通过计算中间两个数字的平均值来找到中位数。
让我们探讨一下这篇文章,看看如何使用Java编程语言来完成。
展示一些实例
实例1
给定数组= [12, 23, 34, 45, 15]。
该数组的平均值= (12 + 23 + 34 + 45 + 15) / (5) = 129 / 5 = 25.8
给定数组的排序数组= [12, 15, 24, 34, 45]
由于这是一个奇数个元素的数组,中位数是中间元素。
中位数 = 24
实例2
给定数组= [38, 94, 86, 63, 36]。
该数组的平均值= (38 + 94 + 86 + 63 + 36) / (5) = 317 / 5 = 63.4
给定数组的排序数组= [36, 38, 63, 86, 94]
由于这是一个奇数个元素的数组,中位数是中间元素。
中位数 = 63
实例3
给定数组= [54, 67, 23, 95, 24, 60]。
该数组的平均值= (54 + 67 + 23 + 95 + 24 + 60) / (6) = 323 / 6 = 53.83
由于这是一个偶数个元素的数组,中位数是中间两个元素的平均值。
给定数组的排序数组= [23, 24, 54, 60, 67, 95]
中位数 = (54 + 60) / 2 = 57
步骤
- 步骤1 - 声明并初始化一个整数类型的数组。
-
步骤2 - 按升序对数组进行排序。
-
步骤3 - 在第一个用户定义的方法中计算平均值。在第二个用户定义的方法中计算中位数。
-
步骤4 - 调用两个用户定义的方法,并将数组和长度值作为参数传递。
-
步骤5 - 在找到平均值和中位数后,将两个值打印出来。
语法
要获取数组的长度(即数组中的元素个数),可以使用数组的内置属性length
以下是其语法的参考 –
array.length
在这里,’array’ 是指数组引用。
你可以使用Arrays.sort()方法将数组按照升序进行排序。
Arrays.sort(array_name);
多种方法
我们以不同的方法提供了解决方案
- 通过使用静态输入方法
-
通过使用用户输入方法
让我们逐个查看程序及其输出。
方法1:通过使用静态输入方法
在这种方法中,我们通过静态输入方法声明一个数组,并将该数组及其长度作为参数传递给我们定义的方法,然后在方法内部,通过使用算法,我们可以找到平均值和中位数。
示例
import java.util.*;
public class Main {
public static void main(String args[]) {
//declare an integer type array and store some random integer values
int inputArray[] = { 23, 24, 65, 87, 85, 12, 76,21};
//declare an integer variable to store the length of the given array
int len = inputArray.length;
//call the user defined method and print the output
System.out.println("Mean of given array "+ Arrays.toString(inputArray)+ " is = " + mean(inputArray, len));
System.out.println("Median of given array "+ Arrays.toString(inputArray) + " is = " + median(inputArray, len));
}
// user defined function to find mean value
public static double mean(int arr[], int len)
{
//declare a Integer variable to store the sum value of given array's elements
int sum = 0;
//initiate the loop to calculate the sum value of all the elements of given array
for (int i = 0; i < len; i++)
sum += arr[i];
//return the mean value
return (double)(arr[(len - 1) / 2] + arr[len / 2]) / 2.0;
}
//user defined function to find median value
public static double median(int arr[], int len) {
// sort the given array in ascending order
Arrays.sort(arr);
// check whether the given array consists of even or odd number of elements
if (len % 2 != 0)
{
return (double)arr[len / 2];
}
return (double)(arr[(len - 1) / 2] + arr[len / 2]) / 2.0;
}
}
输出
Mean of given array [23, 24, 65, 87, 85, 12, 76, 21] is = 49.125
Median of given array [23, 24, 65, 87, 85, 12, 76, 21] is = 44.5
方法2:使用用户输入方法
在这种方法中,我们通过用户输入方法声明一个数组,并将该数组及其长度作为参数传递给我们的用户定义方法,然后在方法内部通过使用算法来找到平均值和中位数。
示例
import java.util.*;
public class Main {
public static void main(String args[]) {
//create the Objectof Scanner class
Scanner sc=new Scanner(System.in);
//ask the user to enter the length of the array
System.out.print("Enter the number of elements: ");
//declare a variable to store the length
int len=sc.nextInt();
//declare an empty array of given length
int[] inputArray = new int[len];
System.out.println("Enter the elements: ");
//initiate the loop to store the elements into the array
for(int i=0; i < len; i++) {
//store the elements intop the array
inputArray[i]=sc.nextInt();
}
//call the user defined method and print the output
System.out.println("Mean of given array "+ Arrays.toString(inputArray) + " is = " + mean(inputArray, len));
System.out.println("Median of given array "+ Arrays.toString(inputArray) + " is = " + median(inputArray, len));
}
// user defined function to find mean value
public static double mean(int arr[], int len) {
//declare a Integer variable to store the sum value of given array's elements
int sum = 0;
//initiate the loop to calculate the sum value of all the elements of given array
for (int i = 0; i < len; i++)
sum += arr[i];
//return the mean value
return (double)sum / (double)len;
}
//user defined function to find median value
public static double median(int arr[], int len) {
// sort the given array in ascending order
Arrays.sort(arr);
// check whether the given array consists of even or odd number of elements
if (len % 2 != 0){
return (double)arr[len / 2];
}
System.out.println(arr[(len - 1)]);
System.out.println(arr[(len - 1)]);
return (double)(arr[(len - 1) / 2] + arr[len / 2]) / 2.0;
}
}
输出
Enter the number of elements: 8
Enter the elements:
2 5 3 7 1 6 8 4
Mean of given array [2, 5, 3, 7, 1, 6, 8, 4] is = 4.5
Median of given array [2, 5, 3, 7, 1, 6, 8, 4] is = 4.5
在这篇文章中,我们探讨了如何使用Java编程语言在一个未排序的数组中找到平均值和中位数。