在 Java 中查找子数组中大于给定数字的元素

javaobject oriented programmingprogramming更新于 2024/11/25 5:32:17

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

根据问题陈述,我们给出了一个子数组和一个数字,我们必须找出这个子数组中有多少个元素大于给定的数字。因此,我们必须将数组的每个元素与给定的数字进行比较,如果有任何元素大于给定的数字,则打印该元素。

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

向您展示一些实例

实例 1

给定数组 = [12, 23, 34, 45, 15]。
给定子数组= [12, 23, 34]
给定数字 = 25
大于给定数字的元素 = 34

实例-2

给定数组= [38, 94, 86, 63, 36]。
给定子数组= [94, 86, 63, 36]
给定数字 = 90
大于给定数字的元素 = 94

实例-3

给定数组= [54, 67, 23, 95, 74, 60]。
给定子数组 = [23, 95, 74]
给定数字 = 30
大于给定数字的元素 = 95, 74

算法

算法 1(无额外数组)

  • 步骤 1 - 通过静态或用户输入方法声明一个整数类型的数组。

  • 步骤 2 - 进行 for 循环并从子数组起始索引到结束索引进行迭代,并检查条件是否有任何元素大于给定数字并打印该元素。

算法 2(带有额外数组)

  • 步骤 1 - 通过静态或用户输入方法声明一个整数类型的数组。

  • 步骤 2 - 声明一个子数组,并使用子数组的起始和结束索引获取元素。

  • 步骤 3 - 如果任何数字大于给定数字,则使用 for 循环打印子数组中存在的元素。

语法

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

下面引用它的语法 -

array.length

其中,"array"指的是数组参考。

多种方法

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

  • 没有额外的数组

  • 有额外的数组

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

方法 1:没有额外的数组

在这种方法中,我们声明并初始化一个数组,然后根据算法在子数组中找到大于给定元素的数字。这里我们不使用另一个额外的数组,即子数组。

示例

import java.util.*;
public class Main {
   public static void main(String args[]) {
      	Scanner sc=new Scanner(System.in);
            
        //声明一个数组
        int[] inputArray = {2, 6, 1, 7, 9, 3, 5};
        System.out.println("给定数组:" + Arrays.toString(inputArray));
        
        //子数组的索引范围
        int indx1=1;
        int indx2=5;
        
        //要比较的数字
        int num= 4;
        int a=0;
        System.out.println("子数组中的较大数字:");
        for(int i=indx1; i<=indx2; i++) {
         if(inputArray[i]>num) {
            System.out.println(inputArray[i]+" ");
         }
      }
   }
}

输出

给定数组:[2, 6, 1, 7, 9, 3, 5]
子数组中较大的数字:
6
7
9

方法 2:使用额外数组

在此方法中,我们声明并初始化一个数组,然后根据算法在子数组中找到大于给定元素的数字。这里我们使用另一个额外数组,即子数组。

示例

import java.util.*;
public class Main{
   public static void main(String args[]) {
        Scanner sc=new Scanner(System.in);
        
        //声明一个数组
        int[] inputArray = {2, 6, 1, 7, 9, 3, 5, 8};
        System.out.println("给定数组:" + Arrays.toString(inputArray));
        
        //子数组的索引范围
        int indx1=2;
        int indx2=6;
        
        //声明子数组
        int[] subArray = new int[indx2 - indx1 + 1];
        int a=0;
        
        //将元素存储在子数组中
        for(int i=indx1; i<=indx2; i++){
            subArray[a]=inputArray[i];
            a+=1;
        }
        System.out.println("您的子数组:" + Arrays.toString(subArray));
        
        //要比较的数字
        int num= 5;
        System.out.println("子数组中存在的较大数字:");
        greaterNumber(subArray,num);
   }
   //查找大于给定数字的方法
   public static void greaterNumber(int[] arr,int n) {
      for(int i=0; i<arr.length; i++) {
         if(arr[i]>n) {
            System.out.println(arr[i]+" ");
         }
      }
   }
}

输出

给定数组:[2, 6, 1, 7, 9, 3, 5, 8]
您的子数组:[1, 7, 9, 3, 5]
子数组中存在的较大数字:
7
9

在本文中,我们探讨了如何使用 Java 编程语言在子数组中查找大于给定数字的元素。


相关文章


有用资源