Java 查找未排序数组的平均数和中位数

Java 查找未排序数组的平均数和中位数

在Java中,数组是一个对象。它是一种非原始数据类型,用于存储类似数据类型的值。

根据问题陈述,我们必须在Java中找到一个未排序数组的平均数和中位数。

数组的平均数可以通过计算数组中所有元素的平均值得出。

Mean= (sum of all elements present in array) / (total number of elements present)

数组的中位数代表奇数排序数组中的中间元素,如果排序数组由偶数组成,那么中位数可以通过计算中间两个数字的平均值来找到。

让我们来探讨一下这篇文章,看看如何通过使用Java编程语言来实现。

向您展示一些实例

实例一

给定数组= [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);

多种方法

我们提供了不同方法的解决方案

  • 通过使用静态输入法

  • 通过使用用户输入法

让我们逐一看看这个程序和它的输出。

方法一:通过使用静态输入法

在这种方法中,我们通过静态输入法声明一个数组,并把这个数组和它的长度作为参数传给我们的用户定义方法,然后在方法中通过使用算法我们可以找到平均值和中位数。

例子

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编程语言在一个未排序的数组中找到平均数和中位数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程