Strings vergleichen

L

LuckySlevin

Gast
Hey ,

Ich muss Strings miteinander vergleichen und dann das passende Gegenstück dazu ausgeben aber irgendwie funktioniert es noch nicht ganz ...

Java:
	public static String getOwner(String licensePlateList){
		
		int k=0;
		
	k=JOptionPane.showConfirmDialog(null,"Wollen Sie einen Besitzer suchen ?","Suchen?",JOptionPane.YES_NO_OPTION);
	if(k==0){
		String v = JOptionPane.showInputDialog("Geben Sie bitte das Kennzeichen zum gesuchten Besitzer ein :");
		if(v.equals(ownerList)){
			
			...
		                             }
		
		 
	        }
	
	                                                      }

Es gibt 3 Listen , OwnerList,AddressList,und LicensPlateList jetzt soll der Eintrag aus LicensePlateList der durch den Benutzer festgelegt wird verglichen werden mit den Einträgen aus der Liste . Ausgegeben werden soll dann der passende Eintrag aus der ownerList ... Kann jmd helfen ?
 

Atze

Top Contributor
listen heißt, es gibt dort nur strings? und du vergleichst einen übergebenen string mit den strings aus der liste? wenn die übereinstimmen, gibst du den gefundenen (absolut identischen) string zurück? dann nimm doch gleich den übergebenen, die sind ja doch dann gleich! :D oder willst du nur schauen ob er dort vorhanden ist?

oder was ist in den listen? user-objekte? geben die dann per toString() ihren namen zurück? dann ist das design wohl schlecht gewählt. die userobjekte sollten dann in einer map statt in einer list stecken und über den übergebenen namen gesucht werden. dann macht das suchen auch sinn :)

oder hab ich die lage garnicht gecheckt? :D
 

XHelp

Top Contributor
Hm... so ganz klar wird mir das nicht. Was ist ein "Gegenstück" zu einem String und in wie fern sind einträge in verschiedenen Listen "passend"?
 
L

LuckySlevin

Gast
Hmm ok ich versuch mich verständlicher auszudrücken :) ,

angenommen ich habe folgende Listen :

Java:
	private static String[] licensePlateList = new String[5]; 
	private static String[] ownerList = new String[5]; 
	private static String[] addressList = new String[5];

Der Benutzer gibt auf Anforderung die Einträge in die Liste ein und wieder angenommen es kommt zu folgendem :

licensePlateList[0]=123123
licensePlateList[1]=435435
licensePlateList[2]=213124
licensePlateList[3]=463452
licensePlateList[4]=123124

ownerList[0]=Hans
ownerList[1]=Otto
ownerList[2]=Jürgen
ownerList[3]=Detlef
ownerList[4]=Will

AddressList[0]=Hansstraße
AddressList[1]=Ottostraße
AddressList[2]=Jürgenstraße
AddressList[3]=Detlefstraße
AddressList[4]=Willstraße

So jetzt gibt als nächtes der Benutzer beispielsweise auf Anforderung wieder 123123 ein dann soll "Hans" bzw. "Hansstraße" ausgegeben werden ... versteht ihr mein Problem :D
 

Atze

Top Contributor
hm, größeres problem als ich angenommen hatte :D

ich glaub was du wirklich brauchst, ist eine relationale datenbank :) sie sind beim suchen auch verdammt effektiv, dein problem ist eigentlich das paradebeispiel dafür. klar geht das auch mit strukturen in java, aber diese brauchen jedenfalls eine beziehung zueinander? woher sollen deine arrays (keine listen!! vielleicht n anderen variablennamen wählen!) wissen, dass licensePlateList[0] zu ownerList[0]=Hans und AddressList[0]=Hansstraße gehört? ok, in deinem falle über den index [0]. dann musst du wohl in einer schleife alle einträge anhand des index miteinander verketten. das fünktioniert zwar nur so lange wie die listen in dieser ordnung bleiben. wartbar und flexibel ist was anderes ;) aber scheint für deine aufgabe wohl zu funktionieren ;)

also eine forschleife von 0-4, mit dem index jeweils daten aus allen ARRAYs :) holen, verketten und ausgeben :) brauchst du code-hilfe, oder bekommste das hin? bei weiteren fragen hilft dir sicher einer weiter :)
 

Dekker

Bekanntes Mitglied
Öh.
Java:
v.equals(ownerlist)
wird niemals im Leben Funktionieren weil du einen String mit einer Liste vergleichst. Das ist ungefähr so als wenn du überprüfen willst ob zwei Autos gleich sind und dann zum überprüfen vergleichst ob das Auto das selbe wie das Autohaus ist.

Wenn OwnerList eine Liste mit Strings ist musst du schon einzeln die Liste durchgehen und vergleichen. Hier mal ein dummes Beispiel wies gehen könnte.

Java:
import java.util.Iterator;
import java.util.LinkedList;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		LinkedList<String> liste = new LinkedList<String>();
		liste.add("A");
		liste.add("B");
		liste.add("C");
		liste.add("D");
		liste.add("E");
		liste.add("F");
		liste.add("G");
		String eingabe = "G";
		
		// Möglichkeit 1
		Iterator<String> it = liste.listIterator();
		
		while(it.hasNext())
		{
			if(it.next().equals((eingabe))) System.out.println("Gefunden!");
		}
		
		// Möglichkeit 2
		for(int i = 0; i < liste.size(); i++)
			if(liste.get(i).equals(eingabe)) System.out.println("Gefunden!");
			
	}
}

Edit: Eh, thread zu lange offen gelassen und anderes gemacht... Naja, wenns einfach nur Arrays sind musste halt die Arrayfelder einzeln überprüfen...

Java:
for(int i = 0; i < ownerlist.length(); i++)
if(ownerlist[i].equals(eingabe)) System.out.println("Woopwoopwoop");
 
Zuletzt bearbeitet:

Atze

Top Contributor
Java:
	public static void main(String[] args) {
		List<String> liste = new LinkedList<String>();
		liste.add("A");
		liste.add("B");
		liste.add("C");
		liste.add("D");
		liste.add("E");
		liste.add("F");
		liste.add("G");
		String eingabe = "G";

		// Möglichkeit 3
		System.out.println(liste.contains(eingabe));
	}

wenn dann schon so ;)

aber ich glaub er möchte nicht nur prüfen ob der string auch in der anderen map (edit: äh liste, äh array :D ) ist :)
 

Dekker

Bekanntes Mitglied
wenn dann schon so ;)

aber ich glaub er möchte nicht nur prüfen ob der string auch in der anderen map (edit: äh liste, äh array :D ) ist :)

Stimmt, hatte vergessen das das auch geht :E. Aber wenn er den Index braucht, müsste er es wie bei mir in Methode 1 und 2 machen :p. Einigen wir uns drauf das eine Datenbank oder eine eigene Datenstruktur (Z.B. Liste mit Containerobjekten) besser wäre. ^^
 

Atze

Top Contributor
selber :p

wenn er den index braucht soll er beim array bleiben, indexe haben imho mit listen nix zu tun ;) *keuleschwing*

ja, mit der db sind wir uns einig ;)
 
L

LuckySlevin

Gast
Java:
	public static String getOwner(String licensePlateList){
		
		int k=0;
		
	k=JOptionPane.showConfirmDialog(null,"Wollen Sie einen Besitzer suchen ?","Suchen?",JOptionPane.YES_NO_OPTION);

So jetzt kommt die for - Schleife , richtig ? dass heißt er geht jeden einzelnen Eintrag durch ...
Java:
	for(int j = 0; j <= ownerList.length && k==0; j++){
		
		String y=JOptionPane.showInputDialog("Kennzeichen eingeben:");
Jetzt soll die Eingabe verglichen werden mit den Einträgen von 0 bis <= der Listenlänge von owners ... Und wenn es einen , ich nenn es mal "Hit" gibt , soll er die Ausgabe tätigen ...
Java:
		if (ownerList[j].equals(y)){
			

		}
Mit der Möglichkeit 3 ? Tut mir Leid wenn ich mich was schwer anstelle aber es hat noch nicht klick gemacht :S
Java:
return ownerList.contains(y)  ?
Aber das funktioniert ja nicht irgendwas stimmt bei mir noch nicht ...

Java:
	                           }
	
	                                                           }
 
L

LuckySlevin

Gast
Noch einmal der Code im ganzen -.- Sorry
Java:
	public static String getOwner(String licensePlateList){
		
		int k=0;
		
	k=JOptionPane.showConfirmDialog(null,"Wollen Sie einen Besitzer suchen ?","Suchen?",JOptionPane.YES_NO_OPTION);
	
	for(int j = 0; j <= ownerList.length && k==0; j++){
		
		String y=JOptionPane.showInputDialog("Kennzeichen eingeben:");
		
		if (ownerList[j].equals(y)){
			
			
		}

			
			
	                           }
	
	                                                           }
 

XHelp

Top Contributor
Mit deinen Listen/Arrays/Wasauchimmer wirst du nicht weiterkommen. Erstell dafür eine eigene Klasse, wo du alles dazugehörige Informationen speicherst und halte nur eine Liste/Array/Wasauchimmer von diesen Objekten fest.
DBs werde dich auf deinem Wissensstand nur verwirren.
 

Atze

Top Contributor
hm, ich versteh das mit dem hit jetzt immernoch nicht :/

einen hit / treffer gäbe es ja nur, wenn die strings gleich wären. dann würdest du einen vergleich von zwei identischen strings haben. aber das willst du ja nicht, oder? du willst doch die werte aus den array zusammensetzten, oder? und alle einträge mit dem gleich index gehören zusammen, oder?


die schleife ist dann richtig, dann einfach beim richtigen index:

Java:
myString = licensePlateList[index] + ownerList[index] + AddressList[index]

oder in welcher reihenfolge auch immer :)
 
G

Gast2

Gast
Mit deinen Listen/Arrays/Wasauchimmer wirst du nicht weiterkommen. Erstell dafür eine eigene Klasse, wo du alles dazugehörige Informationen speicherst und halte nur eine Liste/Array/Wasauchimmer von diesen Objekten fest.
DBs werde dich auf deinem Wissensstand nur verwirren.

Habe wohl etwas länger gebraucht - hier mal ein kleiner Denkanstoß:
Java:
import java.util.HashMap;
import java.util.Map;

public class Test {
	public static void main(String[] argv) {
		
		Owner owner1 = new Owner("Hans","123123","Hansstraße");
		Owner owner2 = new Owner("Otto","435435","Ottostraße");
		Owner owner3 = new Owner("Jürgen","213124","Jürgenstraße");
		Owner owner4 = new Owner("Detlef","463452","Detlefstraße");
		Owner owner5 = new Owner("Will","123124","Willstraße");
		
	    Map<String,Owner> ownerByName = new HashMap<String, Owner>();
	    Map<String,Owner> ownerByPlatenumber = new HashMap<String, Owner>();
	    Map<String,Owner> ownerByAddress = new HashMap<String, Owner>();
	    
	    ownerByName.put(owner1.getName(),owner1);
	    ownerByName.put(owner2.getName(),owner2);
	    ownerByName.put(owner3.getName(),owner3);
	    ownerByName.put(owner4.getName(),owner4);
	    ownerByName.put(owner5.getName(),owner5);
	    
	    ownerByPlatenumber.put(owner1.getLicensePlate(),owner1);
	    ownerByPlatenumber.put(owner2.getLicensePlate(),owner2);
	    ownerByPlatenumber.put(owner3.getLicensePlate(),owner3);
	    ownerByPlatenumber.put(owner4.getLicensePlate(),owner4);
	    ownerByPlatenumber.put(owner5.getLicensePlate(),owner5);
	    
	    ownerByAddress.put(owner1.getAddress(),owner1);
	    ownerByAddress.put(owner2.getAddress(),owner2);
	    ownerByAddress.put(owner3.getAddress(),owner3);
	    ownerByAddress.put(owner4.getAddress(),owner4);
	    ownerByAddress.put(owner5.getAddress(),owner5);
	    
	    System.out.println(ownerByAddress.get("Hansstraße"));
	    System.out.println(ownerByName.get("Otto"));
	    System.out.println(ownerByPlatenumber.get("123124"));
	}
	
	
	
}

class Owner{
	private String licensePlate;
	private String name;
	private String address;
	public Owner(String name, String licensePlate, String address){
		this.name = name;
		this.licensePlate = licensePlate;
		this.address = address;
	}
	public String getLicensePlate() {
		return licensePlate;
	}
	public String getName() {
		return name;
	}
	public String getAddress() {
		return address;
	}
	public String toString(){
		return name + ";"+address+";"+licensePlate;
	}
}
 

XHelp

Top Contributor
Ne, das ist nicht so das Wahre. Ich dachte eher an eine einzige
Code:
List<Owner>
mit verschiedenen Comparator'en. Man könnte auch eine Utility-Klasse mit
Code:
public static Owner getOwnerByName(String ownerName, List<Owner> list)
usw machen
 
G

Gast2

Gast
Ne, das ist nicht so das Wahre. Ich dachte eher an eine einzige
Code:
List<Owner>
mit verschiedenen Comparator'en. Man könnte auch eine Utility-Klasse mit
Code:
public static Owner getOwnerByName(String ownerName, List<Owner> list)
usw machen

Kommt immer drauf an was man machen möchte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
M Strings vergleichen Java Basics - Anfänger-Themen 10
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
D Vergleichen von Strings Java Basics - Anfänger-Themen 6
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
N Zwei Strings mit "==" vergleichen warum TRUE Java Basics - Anfänger-Themen 2
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
S Strings miteinander vergleichen Java Basics - Anfänger-Themen 5
1 HILFE! Strings mit CompareTo vergleichen Java Basics - Anfänger-Themen 3
B Variablen Unbekante anzahl an Strings splitten und vergleichen Java Basics - Anfänger-Themen 31
M Zwei Strings vergleichen? Java Basics - Anfänger-Themen 10
C Datentypen Mehrere Strings vergleichen Java Basics - Anfänger-Themen 5
T Strings mit compareto vergleichen und array sortieren Java Basics - Anfänger-Themen 14
W Strings vergleichen Java Basics - Anfänger-Themen 2
B mehrere Strings vergleichen Java Basics - Anfänger-Themen 24
G Strings vergleichen mit equals, geht das kürzer? Java Basics - Anfänger-Themen 4
A Datentypen strings vergleichen Java Basics - Anfänger-Themen 9
G Strings vergleichen Java Basics - Anfänger-Themen 14
C Strings vergleichen mit == Java Basics - Anfänger-Themen 6
J Strings in charArrays umwandeln und vergleichen Java Basics - Anfänger-Themen 4
T Strings vergleichen Java Basics - Anfänger-Themen 5
X Strings mit If vergleichen Java Basics - Anfänger-Themen 5
P Strings über whitelist vergleichen Java Basics - Anfänger-Themen 14
Q Zwei Strings vergleichen Java Basics - Anfänger-Themen 14
N 2 Strings vergleichen Java Basics - Anfänger-Themen 4
G Strings vergleichen Java Basics - Anfänger-Themen 6
K Strings vergleichen funktioniert nicht Java Basics - Anfänger-Themen 3
S Strings miteinander vergleichen Java Basics - Anfänger-Themen 12
D Strings vergleichen, Problem "" Zeichen? Java Basics - Anfänger-Themen 3
T Strings bis zum Zeichen ";" vergleichen! Java Basics - Anfänger-Themen 6
U Strings vergleichen Java Basics - Anfänger-Themen 2
S Von der Tastatur eingelesene Strings miteinander vergleichen Java Basics - Anfänger-Themen 4
G Strings vergleichen: Unterschiede erfragen Java Basics - Anfänger-Themen 5
T Länge von Strings im Array vergleichen Java Basics - Anfänger-Themen 2
N Strings vergleichen die 2te. Java Basics - Anfänger-Themen 8
D Rekursiv 2 Strings vergleichen Java Basics - Anfänger-Themen 14
L Strings vergleichen wie in SQL mit "Like" Java Basics - Anfänger-Themen 3
G Fehlertoerantes Vergleichen von Strings? Java Basics - Anfänger-Themen 13
G die ersten Zeichen eines Strings Vergleichen mit String Java Basics - Anfänger-Themen 6
W mehrere Strings vergleichen, (kein equal-Problem) Java Basics - Anfänger-Themen 3
S Warum Strings mit equals vergleichen? Java Basics - Anfänger-Themen 6
S 100%iges Vergleichen von 2 Strings Java Basics - Anfänger-Themen 18
S Vergleichen von Strings Java Basics - Anfänger-Themen 6
M Strings vergleichen Java Basics - Anfänger-Themen 3
B Strings vergleichen Java Basics - Anfänger-Themen 2
M Strings vergleichen Java Basics - Anfänger-Themen 3
D Strings vergleichen Java Basics - Anfänger-Themen 4
J Strings vergleichen Java Basics - Anfänger-Themen 2
Dilandau strings vergleichen? Java Basics - Anfänger-Themen 3
W Gleichzeitiges ersetzen mehrerer Strings Java Basics - Anfänger-Themen 7
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
N Nachkommastellen von Strings Java Basics - Anfänger-Themen 3
T Strings unveränderlich???? Java Basics - Anfänger-Themen 22
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
S Die durchschnittliche Länge der Strings Java Basics - Anfänger-Themen 11
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
sserio StringBuilder und Strings Java Basics - Anfänger-Themen 8
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
N Strings verpflechten Java Basics - Anfänger-Themen 4
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
L Strings aneinanderhängen Java Basics - Anfänger-Themen 2
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
P Verketten, Aneinanderreihen von Strings Java Basics - Anfänger-Themen 2
M Strings mit gerader und ungerader Länge ausgeben Java Basics - Anfänger-Themen 10
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
W Strings und das parsen Java Basics - Anfänger-Themen 8
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
M Konkatenation von zwei Strings Java Basics - Anfänger-Themen 6
J Abbruchbedingung in Schleife/ Untersuchung von Strings Java Basics - Anfänger-Themen 2
S Buchstaben in Großbuchstaben (Strings) Java Basics - Anfänger-Themen 5
X Anagramm mit Strings und Methode Java Basics - Anfänger-Themen 53
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
P Strings mit der Axt zerteilen Java Basics - Anfänger-Themen 7
F Alle Zeichenkombinationen eines Strings iterativ herausfinden Java Basics - Anfänger-Themen 26
K Strings hochzählen Java Basics - Anfänger-Themen 20
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
J Unveränderbarkeit von Strings Java Basics - Anfänger-Themen 3
O Klammerung bei Strings Java Basics - Anfänger-Themen 10
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
D ergebnis.matches("[1-9]?[0-9].[0-9][0-9]?") ein teil eines größeren Strings Java Basics - Anfänger-Themen 12
J Breite eines Strings bestimmen Java Basics - Anfänger-Themen 4
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben