在 JAVA 中查找数组的中位数元素
在 Java 中,数组是一个对象。它是一种非基本数据类型,用于存储相同数据类型的值。
根据问题陈述,我们必须找到存在于数组中间的元素。
如果数组包含奇数个元素,则您将获得一个位于数组正中间的元素。
如果数组包含偶数个元素,则您将获得两个位于数组中间的元素。
在本文中,您将了解如何使用 Java 编程语言获取数组的中位数元素。让我们探索一下。
为您展示一些实例
实例 1
Suppose the original array is {1, 6, 5, 2, 9, 3, 4, 6}
在执行数组操作以检测数组的中位数元素后,结果将为:
中位数元素为 2 和 9
实例 2
Suppose the original array is {1, 6, 5, 2, 4, 7, 9, 4, 6}
在执行数组操作以检测数组的中位数元素后,结果将为:
中位数元素为 4
实例 3
Suppose the original array is {2, 6, 6, 2, 7, 3, 4, 8, 9}
在执行数组操作以检测数组的中位数元素后,结果将为:
中位数元素为 7
算法
步骤 1 - 声明并初始化一个整数数组。
步骤 2 - 检查数组的长度并将其分配给一个 int 变量“nums”。
步骤 3 - 如果 nums 为偶数,则通过应用逻辑打印中间两个元素。
步骤 4 - 如果 nums 为奇数,则通过应用逻辑打印中间元素。
多种方法
我们以不同的方法提供了解决方案。
通过使用数组元素的静态初始化
通过使用用户定义的方法
让我们逐一查看程序及其输出。
方法 1:通过使用数组元素的静态初始化
示例
在这种方法中,数组元素将在程序中初始化。然后根据算法在 Java 中查找数组的中位数元素。
public class Main{ //main method public static void main(String[] args){ //Declare and initialize the array elements int[] nums = new int[]{1, 6, 5, 2, 4, 7, 9, 4, 6}; //logic implementation for middle element //if even number of array elements are present if (nums.length %2 == 0){ System.out.println("The middle elements are: "); // even-length array (two middle elements) int x = nums[(nums.length/2) - 1]; System.out.println(x); int y = nums[nums.length/2]; System.out.println(y); } //if odd number of array elements are present else { // odd-length array (only one middle element) int z = nums[nums.length/2]; System.out.println("The middle elements is: "); System.out.println(z); } } }
输出
The middle elements is: 4
方法 2:通过使用用户定义的方法
示例
在这种方法中,数组元素将在程序中初始化。然后通过将数组作为参数传递来调用用户定义的方法,并在方法内部根据算法在 Java 中查找数组的中位数元素。
public class Main{ //main method public static void main(String[] args){ //Declare and initialize the array elements int[] nums = new int[]{1, 6, 5, 2, 4, 7, 9, 4, 6, 3}; //call the user defined method midArray(nums); } //user defined method to find mid element public static void midArray(int []nums){ //logic implementation for middle element //if even number of array elements are present if (nums.length %2 == 0){ System.out.println("The middle elements are: "); // even-length array (two middle elements) int x = nums[(nums.length/2) - 1]; System.out.println(x); int y = nums[nums.length/2]; System.out.println(y); } //if odd number of array elements are present else{ // odd-length array (only one middle element) int z = nums[nums.length/2]; System.out.println("The middle elements is: "); System.out.println(z); } } }
输出
The middle elements are: 4 7
在本文中,我们探讨了如何使用 Java 编程语言查找数组的中位数元素。
广告