Guten Abend,
ich habe nun 2 Algorithmen erfolgreich programmiert und alles funktioniert wunderbar. Ich versuche mich nun noch mit einem Algorhytmus, der auch unter dem Namen Direkte Mustersuche bekannt ist. Mein momentaner Stand ist:
Doch leider bekomme ich egal was ich mache immer -1 als Ergebnis... Hab ich vielleicht was mit den Arrays falsch gemacht?
Danke und Grüße,
Chondor
ich habe nun 2 Algorithmen erfolgreich programmiert und alles funktioniert wunderbar. Ich versuche mich nun noch mit einem Algorhytmus, der auch unter dem Namen Direkte Mustersuche bekannt ist. Mein momentaner Stand ist:
Java:
import javax.swing.JOptionPane;
public class Direkte_Mustersuche
{
public static int TxtSearch ( String [] s, String [] p )
{
int n, m; // String- , Musterlänge
int i, j; // Suchzeiger
int found; // Flag: 1 == gefunden,
// 0 == Fehlanzeige
n = s.length; // Länge des String
m = p.length; // Länge des Pattern
for (i=0; i<n-m+1; i++) // über alle Positionen im String
{
found = 1; // bisher noch alles O.K.
for (j=0; j<m; j++) // über alle Positionen im Pattern
if (s[i+j] != p[j]) found = 0;
if (found == 1) return (i);
}
return(-1);
}
public static void main(String[] args) {
String [] s = {
//Name Vorname Alter
"Sieglinde Grund 45", //0
"Daniela Alfred 35", //1
"Joerg Hanke 21", //2
"Sabine Mueller 39", //3
"Erich Schneider 70", //4
"Herbert Willi 34", //5
"Claudia Hahn 35", //6
"Mario Schmitt 27", //7
"Christopher Ritter 33", //8
"Helmut Dietrich 75", //9
"Hartmut Merkel 18", //10
"Anton Zuber 81", //11
"Peter Meckel 49", //12
"Sabrina Mueller 20", //13
"Erich Conradi 34", //14
"Peter Preus 33", //15
"Horst Wagner 66", //16
"Edeltraut Herrmann 88", //17
"Udo Kranz 55", //18
"Udo Juergens 57", //19
"Melanie Praast 23", //20
"Selina Maurer 76", //21
"Michel Horst 19", //22
"Helena Kramer 29", //23
"Marita Kunz 36", //24
"Otto Walkes 60", //25
"Horst Schlemmer 48", //26
"Horst Lichter 53", //27
"Thomas Huber 44", //28
"Gido Kanz 42" //29
};
String T = JOptionPane.showInputDialog(args);
String [] p = new String[T.length()];
for(int i = 0; i < T.length(); i++){
char c = T.charAt(i);
p [i] = Character.toString(c);
}
//System.out.println (T);
System.out.println ("search result muster: " + TxtSearch(s,p));
}
}
Doch leider bekomme ich egal was ich mache immer -1 als Ergebnis... Hab ich vielleicht was mit den Arrays falsch gemacht?
Danke und Grüße,
Chondor