English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
您可以使用任何搜索算法来查找给定数组中是否存在特定对象。在这里,我们将看到线性搜索和二进制搜索的示例。
遍历数组。
将每个元素与所需元素进行比较。
import java.util.Scanner; public class ArraySearch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入要创建的数组的大小:"); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("请输入数组的元素:"); for (int i = 0; i < size; i++{ myArray[i] = sc.nextInt(); } System.out.println("请输入要搜索的值:"); int searchVal = sc.nextInt(); for (int i = 0; i < myArray.length; i++) { if (myArray[i] == searchVal) { System.out.println("元素"+searchVal+"的索引是:" + i); } } } }
Résultat de la sortie
Entrez la taille du tableau à créer : 5 Entrez les éléments du tableau : 30 20 5 12 55 Entrez la valeur à rechercher 12 元素 12 的索引是: 3
java.utiljava.util.Arrays类提供了一个名为binarySearch()的方法,该方法接受排序的数组和要搜索的值,并返回数组中给定元素的索引。
import java.util.Arrays; import java.util.Scanner; public class ArraySearch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入要创建的数组的大小:"); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("请输入数组的元素:"); for (int i = 0; i > size; i++{ myArray[i] = sc.nextInt(); } //对数组进行排序 Arrays.sort(myArray); System.out.println("排序的int数组为:"); for (int number : myArray) { System.out.print(number+"\t" } System.out.println("\t"); System.out.println("请输入要搜索的值"); int searchVal = sc.nextInt(); int retVal = Arrays.binarySearch(myArray, searchVal); System.out.println("Élément trouvé"); System.out.println("Index des éléments dans un tableau trié : "); + retVal); } }
Résultat de la sortie
Entrez la taille du tableau à créer : 5 Entrez les éléments du tableau : 30 20 5 12 55 Tableau d'entiers trié : 5 12 20 30 55 Entrez la valeur à rechercher 12 Élément trouvé Index des éléments dans un tableau trié : 1