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 程式語言在子陣列中查詢大於給定數字的元素。

更新於: 2023 年 1 月 31 日

556 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.