在 Java 中查找未排序数组的平均值和中位数
在 Java 中,数组是一个对象。它是一种非原始数据类型,用于存储类似数据类型的值。
根据问题陈述,我们必须在 Java 中找到未排序数组的平均值和中位数。
可以通过计算数组中所有元素的平均值来得出数组的平均值。
平均值=(数组中所有元素的总和)/(存在的元素总数)
数组的中位数表示奇数排序数组中存在的中间元素,如果排序数组由偶数组成,则可以通过计算中间两个数字的平均值来找出中位数。
让我们探索这篇文章,看看如何使用 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 - 找到平均值和中位数后,将两个值打印为输出。
语法
要获取数组的长度(该数组中的元素数),数组有一个内置属性,即长度
下面引用它的语法 -
array.length
其中,"array"指的是数组引用。
您可以使用 Arrays.sort() 方法按升序对数组进行排序。
Arrays.sort(array_name);
多种方法
我们提供了不同方法的解决方案
使用静态输入法
使用用户输入法
让我们逐一查看程序及其输出。
方法 1:使用静态输入法
在这种方法中,我们通过静态输入法声明一个数组,并将该数组及其长度作为参数传递给用户定义的方法,然后在方法内部使用算法找到平均值和中位数。
示例
import java.util.*;
public class Main {
public static void main(String args[]) {
//声明一个整数类型数组并存储一些随机整数值
int inputArray[] = { 23, 24, 65, 87, 85, 12, 76,21};
//声明一个整数变量来存储给定数组的长度
int len = inputArray.length;
//调用用户定义的方法并打印输出
System.out.println("给定数组的平均值 "+ Arrays.toString(inputArray)+ " is = " + mean(inputArray, len));
System.out.println("给定数组的中位数 "+ Arrays.toString(inputArray) + " is = " + median(inputArray, len));
}
// 用户定义函数来查找平均值
public static double mean(int arr[], int len)
{
//声明一个整数变量来存储给定数组元素的总和
int sum = 0;
//启动循环来计算给定数组所有元素的总和
for (int i = 0; i < len; i++)
sum += arr[i];
//返回平均值
return (double)(arr[(len - 1) / 2] + arr[len / 2]) / 2.0;
}
//用户定义函数来查找中值
public static double median(int arr[], int len) {
// 按升序对给定数组进行排序
Arrays.sort(arr);
// 检查给定数组是否由偶数或奇数个元素组成
if (len % 2 != 0)
{
return (double)arr[len / 2];
}
return (double)(arr[(len - 1) / 2] + arr[len / 2]) / 2.0;
}
}
输出
给定数组 [23, 24, 65, 87, 85, 12, 76, 21] 的平均值 = 49.125 给定数组 [23, 24, 65, 87, 85, 12, 76, 21] 的中位数 = 44.5
方法 2:使用用户输入方法
在这种方法中,我们通过用户输入方法声明一个数组,并将该数组及其长度作为参数传递到用户定义的方法中,然后在方法内部使用算法我们可以找到平均值和中位数。
示例
import java.util.*;
public class Main {
public static void main(String args[]) {
//创建 Scanner 类的对象
Scanner sc=new Scanner(System.in);
//要求用户输入数组的长度
System.out.print("输入元素数量:");
//声明一个变量来存储长度
int len=sc.nextInt();
//声明一个给定长度的空数组
int[] inputArray = new int[len];
System.out.println("输入元素:");
//启动循环以将元素存储到数组中
for(int i=0; i < len; i++) {
//将元素存储在数组顶部
inputArray[i]=sc.nextInt();
}
//调用用户定义的方法并打印输出
System.out.println("给定数组的平均值 "+ Arrays.toString(inputArray) + " is = " + mean(inputArray, len));
System.out.println("给定数组 "+ Arrays.toString(inputArray) + " 的中位数是 = " + median(inputArray, len));
}
// 用户定义函数来查找平均值
public static double mean(int arr[], int len) {
//声明一个整数变量来存储给定数组元素的总和
int sum = 0;
//启动循环来计算给定数组所有元素的总和
for (int i = 0; i < len; i++)
sum += arr[i];
//返回平均值
return (double)sum / (double)len;
}
//用户定义函数来查找中位数
public static double median(int arr[], int len) {
// 按升序对给定数组进行排序
Arrays.sort(arr);
// 检查给定数组是否由偶数或奇数个元素组成
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;
}
}
输出
输入元素数量:8 输入元素: 2 5 3 7 1 6 8 4 给定数组 [2, 5, 3, 7, 1, 6, 8, 4] 的平均值 = 4.5 给定数组 [2, 5, 3, 7, 1, 6, 8, 4] 的中位数 = 4.5
在本文中,我们探讨了如何使用 Java 编程语言在未排序数组中查找数组的平均值和中位数。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

