Java程式檢查陣列是否包含給定值


在本文中,我們將瞭解如何使用兩種方法檢查陣列是否包含給定值:線性搜尋HashSet類。對於線性搜尋,我們將迭代陣列元素,將每個元素與給定的輸入進行比較。對於HashSet類,我們將使用contains()方法來高效地實現這一點。

問題陳述

編寫一個Java程式來檢查陣列是否包含給定的值:

輸入1

Enter the number to be searched: 25
The elements in the integer array:
15 20 25 30 35

輸出1

The array contains the given value
輸入2
languages = Hindi, English, French, Japanese
English
輸出2
English is in the array

不同的方法

以下是檢查陣列是否包含給定值的幾種方法:

使用線性搜尋方法

以下是檢查陣列是否包含使用者輸入的給定值的步驟:

  • 匯入Scanner類
  • 宣告變數:my_inputiarray_sizemy_check(布林型)。
  • 初始化Scanner物件my_scanner
  • 提示並讀取my_inputarray_size
  • 宣告大小為array_size的整數陣列my_array
  • 使用for迴圈迭代my_array,以檢查是否有任何元素等於my_input
  • 如果找到匹配項,則將my_check設定為true並中斷迴圈。
  • 根據my_check列印陣列是否包含給定值。

示例

這是一個使用者輸入的示例:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        int my_input , i, array_size;
        boolean my_check = false;
        System.out.println("Required packages have been imported");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("A reader object has been defined ");
        System.out.println("Enter the number to be searched ");
        my_input = my_scanner.nextInt();
        System.out.print("Enter the value of array_size : ");
        array_size = my_scanner.nextInt();
        int my_array[] = new int[array_size];
        System.out.println("Enter the elements of the array :" );
        for ( i = 0 ; i < array_size ; i++ ) {
            my_array[i] = my_scanner.nextInt();
        }
        for ( i = 0 ; i < array_size ; i++ ) {
            if (my_array[i] == my_input) {
                my_check = true;
                break;
            }
        }
        if(my_check)
            System.out.println("\nThe array contains the given value");
        else
            System.out.println("\nThe array doesnot contain the given value");
    }
}

輸出

Required packages have been imported
A reader object has been defined
Enter the number to be searched
25
Enter the size of array : 5
Enter the elements of the array :
10
15
20
25
30
The array contains the given value

使用HashSet類

以下是使用HashSet類檢查陣列是否包含給定值的步驟:

  • 首先從java.util包匯入HashSet類。
  • 建立一個字串陣列並使用語言值對其進行初始化。
  • 建立一個HashSet物件來儲存唯一的語言。
  • 遍歷陣列並將每種語言新增到HashSet
  • 定義一個目標語言,用於在陣列中搜索。
  • 使用HashSetcontains()方法檢查它是否包含目標語言

示例

這是一個使用HashSet類檢查陣列是否包含給定值的示例:

import java.util.HashSet;
public class Main {
    public static void main(String[] args) {
        String[] languages = {"Hindi", "English", "French", "Japanese"};
        String targetlanguage = "English";
        HashSet<String> languageSet = new HashSet<>();
        for (String language : languages) {
            languageSet.add(language);
        }
        if (languageSet.contains(targetlanguage)) {
            System.out.println(targetlanguage + " is in the array");
        } else {
            System.out.println(targetlanguage + " is not in the array");
        }
    }
}

輸出

English is in the array

Alshifa Hasnain
Alshifa Hasnain

程式碼轉換為清晰度

更新於:2024年8月2日

瀏覽量:1000+

啟動您的職業生涯

完成課程獲得認證

開始
廣告