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

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

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

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

让我们来探讨一下如何使用Java编程语言来实现这一点。

为您展示一些示例

实例-1

Given Array= [12, 23, 34, 45, 15].
Given sub array= [12, 23, 34]
Given number = 25
The elements which are greater than the given number = 34

实例-2

Given Array= [38, 94, 86, 63, 36].
Given sub array= [94, 86, 63, 36]
Given number = 90
The elements which are greater than the given number = 94

实例-3

Given Array= [54, 67, 23, 95, 74, 60].
Given sub array= [23, 95, 74]
Given number = 30
The elements which are greater than the given number = 95, 74

步骤

步骤-1(不使用额外数组)

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

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

步骤-2(使用额外数组)

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

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

  • 步骤 3 - 使用for循环打印子数组中大于给定数字的元素。

语法

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

以下是其语法:

array.length

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

多种方法

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

  • 不使用额外数组

  • 使用额外数组

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

方法1:不使用额外数组

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

示例

import java.util.*;
public class Main {
   public static void main(String args[]) {
      Scanner sc=new Scanner(System.in);

      //declared an array
      int[] inputArray = {2, 6, 1, 7, 9, 3, 5};
      System.out.println("Given array: " + Arrays.toString(inputArray));

      //index range for sub array
      int indx1=1;
      int indx2=5;

      //number to compare
      int num= 4;
      int a=0;
      System.out.println("Greater numbers in the subarray: ");
      for(int i=indx1; i<=indx2; i++) {
         if(inputArray[i]>num) {
            System.out.println(inputArray[i]+" ");
         }
      }
   }
}

输出

Given array: [2, 6, 1, 7, 9, 3, 5]
Greater numbers in the subarray: 
6 
7 
9

方法2:使用额外的数组

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

示例

import java.util.*;
public class Main{
   public static void main(String args[]) {
      Scanner sc=new Scanner(System.in);

      //declared an array
      int[] inputArray = {2, 6, 1, 7, 9, 3, 5, 8};
      System.out.println("Given array: " + Arrays.toString(inputArray));

      //index range for sub array
      int indx1=2;
      int indx2=6;

      //Declared the subarray
      int[] subArray = new int[indx2 - indx1 + 1];
      int a=0;

      //store elements in subarray
      for(int i=indx1; i<=indx2; i++){
         subArray[a]=inputArray[i];
         a+=1;
      }
      System.out.println("Your sub-array: " + Arrays.toString(subArray));

      //number to compare
      int num= 5;
      System.out.println("Greater numbers present in the subArray: ");
      greaterNumber(subArray,num);
   }
   //method to find greater numbers than a given number
   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]+" ");
         }
      }
   }
}

输出

Given array: [2, 6, 1, 7, 9, 3, 5, 8]
Your sub-array: [1, 7, 9, 3, 5]
Greater numbers present in the subArray: 
7 
9

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程