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:无需额外数组
在这种方法中,我们声明并初始化一个数组,然后根据算法,我们在子数组中找到大于给定元素的数字。这里我们不使用另一个额外数组,即子数组。
示例
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 编程语言在子数组中查找大于给定数字的元素。
广告