linearer Suchalgorithmus

Chondor

Mitglied
Guten Abend,

ich bin momentan dabei mit Java eine lineare Suche zu programmieren. Das ist mein momentaner Stand:

Java:
import javax.swing.JOptionPane;

public class Seq {

    public static int lineareSuche( String gesucht,  String array[]) {
        
        int i=0;
       
        while ( i < array.length) {
            if (array[i] == gesucht) {
                return i;
                       
            }
            i++;
         
        }
        return -1;
    }
 
public static void main(String[] args) {
 
            String [] F = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"};
            System.out.println("search key = ");
            String key = JOptionPane.showInputDialog(args);
           
            System.out.println ("search result linear: " + lineareSuche(key,F));
            }
	
}

Ich habe das Ganze mit Strings versucht zu programmieren. Wenn ich die Strings durch Integer ersetze funktioniert die Suche auch. Er gibt also die Stelle des Fundortes im Array aus.
Im Falle mit der String-Programmierung bekomme ich allerdings immer nur -1 als Ergebnis, das verstehe ich nicht Ganz. Denn mein Ziel ist, dass das Array Namen enthält, nach welchen ich Suchen möchte, also nicht nur nach einzelnen Buchstaben. Ich schätze, dass es sich wahrscheinlich nur um Kleinigkeiten handelt, jedoch komme ich einfach nicht darauf, wo das Problem liegt.
Ich würde mich sehr über Hilfe freuen :)

Noch einen schönen Abend
Grüße
Chondor
 

Chondor

Mitglied
ich werde das Thema mal als erledigt markieren und in dem Basics-Ordner neu auf machen. Glaube dass das hier das falsche Unterforum ist und ich weiß leider nicht wie man ein Thema verschiebt.
 

ssoul26

Bekanntes Mitglied
Strings vergleicht man nicht mit "==". Benutze hierzur "xx.equals(...)", dann sollte es gehen.

Bsp.:

Java:
String a  = "alfa";
String b  = "beta";

// prüfen

if(a.equals(b)) ...
 

Ähnliche Java Themen

Neue Themen


Oben