在 Java 中查找子数组中大于给定数字的元素
在 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 编程语言在子数组中查找大于给定数字的元素。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

