在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循环来打印子数组中的元素,如果有任何数字大于给定的数字。
语法
要获得一个数组的长度(数组中的元素数),数组有一个内置的属性,即 长度。
下面是它的语法
array.length
其中,’数组’指的是数组引用。
多种方法
我们提供了不同方法的解决方案。
- 没有额外的数组
-
有一个额外的数组
让我们逐一看看这个程序和它的输出。
方法一:没有额外的数组
在这种方法中,我们声明并初始化一个数组,然后按照算法在子数组中找到大于给定元素的数字。这里我们不使用另一个额外的数组,即子数组。
例子
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编程语言在子数组中找到大于给定数字的元素。