English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java-Programm zur Überprüfung, ob ein gegebenes Element im Array vorhanden ist

您可以使用任何搜索算法来查找给定数组中是否存在特定对象。在这里,我们将看到线性搜索和二进制搜索的示例。

线性搜索

  • 遍历数组。

  • 将每个元素与所需元素进行比较。

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