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); {} {} {} {}
Ergebnis ausgeben
Geben Sie die Größe des zu erstellenden Arrays ein: 5 Geben Sie die Elemente des Arrays ein: 30 20 5 12 55 Geben Sie den zu suchenden Wert ein 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+" "; {} System.out.println(" "); System.out.println("请输入要搜索的值"); int searchVal = sc.nextInt(); int retVal = Arrays.binarySearch(myArray, searchVal); System.out.println("Element gefunden"); System.out.println("Sortieren Sie die Indizes der Elemente im Array: "); + retVal); {} {}
Ergebnis ausgeben
Geben Sie die Größe des zu erstellenden Arrays ein: 5 Geben Sie die Elemente des Arrays ein: 30 20 5 12 55 Sortiertes int-Array: 5 12 20 30 55 Geben Sie den zu suchenden Wert ein 12 Element gefunden Sortieren Sie die Indizes der Elemente im Array: 1