Problem bei direkter Mustersuche

Chondor

Mitglied
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:

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
 

Gucky

Top Contributor
So wie das aussieht, versuchst du Strings mit == zu vergleichen. Das haut nicht hin. Strings werden mit equals oder equalsIgnoreCase (wenn Groß Kleinschreibung egal sein soll) auf Gleichheit verglichen.
 

Chondor

Mitglied
Nochmals Hallo,

ich habe nun das "!=" durch ein "!.contains" ausgetauscht, doch ich befürchte dass hat nicht geholfen :( könntest du mir zeigen wo und was du genau gemeint hast?

Grüße,
Chondor

P.S.: Hier nochmal mein aktueller Stand:

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].contains(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));
	            }
	
 }
 

turtle

Top Contributor
ich habe mal zum Test eine Ausgabe in Zeile 19 eingebaut, um zu sehen, was du da vergleichst

Java:
System.out.println(s[i + j] + "\t" + p[j]);

Ich kann mir NICHT vorstellen, das es das ist was du möchtest, oder?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
J extends Problem Java Basics - Anfänger-Themen 2
C Polymorphie-Problem Java Basics - Anfänger-Themen 3
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
amgadalghabra algorithmisches Problem Java Basics - Anfänger-Themen 19
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
R ArrayList Problem Java Basics - Anfänger-Themen 6
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
C RegEx Problem Java Basics - Anfänger-Themen 4
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
G Subset sum problem mit Backtracking Java Basics - Anfänger-Themen 18
N Problem mit Scanner Java Basics - Anfänger-Themen 2
J Klassen Problem Java Basics - Anfänger-Themen 8
A Out.format problem. Java Basics - Anfänger-Themen 3
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
A Array problem Java Basics - Anfänger-Themen 16
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
W Remote Method Invocation RMI - Problem Java Basics - Anfänger-Themen 0
I Ich habe ein Problem Java Basics - Anfänger-Themen 3
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6
M Regex Erstellung Problem Java Basics - Anfänger-Themen 2
D Input/Output Problem bei der Benutzereingabe eines Befehls Java Basics - Anfänger-Themen 14
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
C Regex-Problem Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
M Problem in der Modellierung Java Basics - Anfänger-Themen 20
W Wo ist das URL-Problem ? Java Basics - Anfänger-Themen 1
S Generics-Problem: Class, Class<?>, Class<Object> Java Basics - Anfänger-Themen 4
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
F Problem mit Listen Java Basics - Anfänger-Themen 5
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
J Problem bei Umrechnung von Hex in Bin Java Basics - Anfänger-Themen 4
W Problem bei Programmierung von Monte-Carlo-Integration Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben