Java 找到第一大和第二大的数组元素之间的差异

Java 找到第一大和第二大的数组元素之间的差异

在Java中,数组是一个对象。它是一种非原始数据类型,可以存储相同数据类型的值。

根据问题的陈述,我们要找到数组中第一个最大数和第二个最大数之间的差异。

注意-数组必须是整数数组。

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

展示一些实例

实例-1

Suppose the original array is {22, 45, 1, 10, 52, 27}

完成操作后,结果为−

数组的第二大元素为−45

数组的最大元素为−52

数组最大元素和第二大元素的差为−7

实例-2

Suppose the original array is {5, 41, 11, 21, 32, 27}

执行操作后的结果为 –

数组的第二大元素为 -32

数组的最大元素为 -41

数组的最大元素与第二大元素的差为 -9

实例-3

Suppose the original array is {18, 25, 61, 19, 55, 29}

完成操作后,结果如下所示:

数组中第二大的元素为-55

数组中最大的元素为-61

数组中最大和第二大元素的差为6

步骤

  • 步骤1 - 声明并初始化一个整数数组。

  • 步骤2 - 按升序对数组进行排序。

  • 步骤3 - 使用“arr [n-2]”和“arr [n-1]”获取数组中第二大和最大的数字。

  • 步骤4 - 减去最大和第二大的元素。

  • 步骤5 - 打印数字。

语法

要获取数组的长度(即数组中的元素数量),有一个内置属性,即 长度。

下面是它的语法参考:

array.length

其中,’array’指的是数组引用。

为了对数组进行排序,Java.util包的Arrays类提供了一个内置的sort()方法。

下面是它的语法:

Arrays.sort(arr);

默认情况下,它按升序对数组进行排序。

其中,’arr’指的是数组引用。

多种方法

我们提供了不同的方法来解决问题。

  • 通过使用静态初始化数组

  • 通过使用用户定义的方法

让我们逐个查看程序及其输出。

方法1:通过使用静态初始化数组

示例

在这种方法中,数组元素将在程序中进行初始化。然后根据算法找出数组中第一个最大数和第二个最大数之间的差异。

import java.util.*;
public class Main {

   //main method
   public static void main(String[] args) {

      //Declare and initialize the array elements
      int arr[] = {5, 41, 11, 21, 32, 27};

      //get length of an array
      int n = arr.length;

      //sorting an array in ascending order
      Arrays.sort(arr);

      //getting the second largest number of an array
      int p = arr[n - 2];

      //print the second largest number of an array
      System.out.println("The second largest element of an array is: " + p);

      //sorting an array in ascending order
      Arrays.sort(arr);

      //getting the largest number of an array
      int q = arr[n - 1];

      //print the largest number of an array
      System.out.println("The largest element of an array is: " + q);

      //finding the difference between largest and second largest number
      int r = q - p;
      System.out.println("The difference of largest and second largest element of an array is: " + r);
   }
}

输出

The second largest element of an array is: 32
The largest element of an array is: 41
The difference of largest and second largest element of an array is: 9

方法2:使用用户自定义方法

示例

在这种方法中,程序会初始化数组元素。然后通过将数组作为参数调用一个用户自定义的方法,根据算法在方法内部找到数组中第一大和第二大数字之间的差。

import java.util.*;
public class Main{

   //main method
   public static void main(String[] args) {

      //Declare and initialize the array elements
      int arr[] = {18, 25, 61, 19, 55, 29};

      //calling user defined method
      diff(arr);
   }

   //user defined method
   static void diff(int []arr){

      //get length of an array
      int n = arr.length;

      //sorting an array in ascending order
      Arrays.sort(arr);

      //getting the second largest number of an array
      int p = arr[n - 2];

      //print the second largest number of an array
      System.out.println("The second largest element of an array is: " + p);

      //sorting an array in ascending order
      Arrays.sort(arr);

      //getting the largest number of an array
      int q = arr[n - 1];

      //print the largest number of an array
      System.out.println("The largest element of an array is: " + q);

      //finding the difference between largest and second largest number
      int r = q - p;
      System.out.println("The difference of largest and second largest element of an array is: " + r);
   }
}

输出

The second largest element of an array is: 55
The largest element of an array is: 61
The difference of largest and second largest element of an array is: 6

在本文中,我们探讨了如何通过使用Java编程语言找到数组中第一个最大数和第二个最大数之间的差异。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程