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輸出2
English
English is in the array
不同的方法
以下是檢查陣列是否包含給定值的幾種方法:
使用線性搜尋方法
以下是檢查陣列是否包含使用者輸入的給定值的步驟:
- 匯入Scanner類。
- 宣告變數:my_input、i、array_size和my_check(布林型)。
- 初始化Scanner物件my_scanner。
- 提示並讀取my_input和array_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。
- 定義一個目標語言,用於在陣列中搜索。
- 使用HashSet的contains()方法檢查它是否包含目標語言。
示例
這是一個使用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
廣告