在 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 编程语言查找数组的中位数元素。

更新于: 2023 年 1 月 5 日

13K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告