Mehrere Strings in eine Kategorie einordnen!

Status
Nicht offen für weitere Antworten.

Dj-Smu

Mitglied
Huhu,
bin ganz neu hier und hoffe ihr könnt mir mit meinem Problem weiterhelfen. Ich weiß nich ob die Überschrift mein Problem passend beschreibt, ich wusste aber nicht wie ich es besser beschreiben könnte.

Also erstmal zum Verständnis am besten ein Beispiel:

Ich möchte mehrere Stings (oder Items, ka) einer bestimmten KAtegorie zuordnen. Also Hamburger, Pommes, Joghurt, Brötchen der Kategorie "Essen" zugeordnet werden.

Fant, Cola, Kaffee ect. wird der Kategorie "Getränke zugeordnet.

Und dann möchte ich später mehrere Dropdown-Menüs haben bei denen man sich alles aussuchen kann, das Programm aber merkt wenn sich z.B. jemand mehr als 2 Getränke aussucht.


Ich hoffe mal ich habe mein Problem anschaulich geschildert. Vielen Dank im Vorraus für Hilfe.

Dj-Smu
 
mache 2 klassen:
Getraenk, Essen
welche zurückgeben was sie sind und wie sie heissen.
bei jeder überschreibst du die "wieHeisstDu" methode mit dem richtigen namen...
 
Ich hatte kürzlich zu Versuchszwecken einmal eine JTable mit zwei Spalten angelegt, die in jeder Zelle eine JCombo enthält.

In Abhängigkeit der Auswahl der JCombo in der ersten Spalten wird in der zweiten Spalte eine JCombo mit den betreffenden Einträgen angezeigt.

Z. B.:
Auswahl "Fleisch" in der ersten Spalte
-> Folgende Möglichkeiten in der zweiten Spalte: Schwein, Rind Truthahn, Huhn
Auswahl "Früchte" in der ersten Spalte
-> Folgende Möglichkeiten in der zweiten Spalte: Apfel Orange, Banane
...

Es ist also ein Vater-Kind-Beziehung vorhanden.

Meinst du so etwas?
 
Du meinst also ich soll ein Klasse "Essen" erstellen und dann alle Lebenmittel per

Code:
Essen pommes = new Essen();

erstellen und in der Klasse Essen die methode wieheisstdu welche dann Lebensmittel übergibt? Hab ich dich so richtig verstanden?
 
@ Abollm: Ja genau so etwas meine ich. Ich muss dann halt überprüfen können ob zweimal das Gleiche ausgesucht wurde oder das mindestens 1 Getränk enthalten sein muss und solche Dinge. Kann man das so wie du das Vorgeschlagen hast machen?

Ich bräuchte halt sowas wie ein Auflistung wie z.B.

Trinken("Fanta", "Cola", "Kaffee" ect.)

Ich weiß nicht ob es einen Befehl gibt der sowas macht (wie gesagt bin recht neu). Ich hab dann z.B. 5 Dropdowns und möchte wissen wieviele Getränke oder wieviel Essen ausgewählt wurde.
 
Dj-Smu hat gesagt.:
@ Abollm: Ja genau so etwas meine ich. Ich muss dann halt überprüfen können ob zweimal das Gleiche ausgesucht wurde oder das mindestens 1 Getränk enthalten sein muss und solche Dinge. Kann man das so wie du das Vorgeschlagen hast machen?

Ich denke, das müsste sich mit dem Gerüst machen lassen. Der Code ist eigentlich relativ knapp gehalten (150 Zeilen). Er müsste aber um entsprechende Prüfungen erweitert werden. Was aber meinst du genau mit zweimal die gleiche Eingabe abfangen? Ich habe das so verstanden, dass in einer Spalte nur einmal z.B. "Pommes" eingegeben werden darf.
 
Ups... ich glaube dann gab es ein Missverständnis. Also das ganze sollte eigentlich alles im Hintergundlaufen.
Das einziger was der Benutzer dann sieht sind Dropdown-Menüs. Und in einem in den Menüs steht alles drin, d.h. Getränke, Essen usw...
Das heisst der Benutzer kann dann beliebig aussuchen. Dann drückt er auf den OK-Button und dann soll das Programm überprüfen ob alle Bedingungen erfüllt sind, z.B. ob er mindestens 2 Getränke ausgesucht hat, das er kein Essen doppelt genommen hat usw...
Und falls dann etwas nicht stimmt soll ein Popup kommen in dem drinsteht: "Bitte jedes Essen nur einmal wählen"
 
bin mir nicht sicher ob ich das richtig verstanden habe...
wenn doch würde das etwa so aussehen:
Code:
class Essen implements LebensMittel {

	String name;
	Essen(String name){
		this.name = name;
	}
	
	public String getKategorie() {
		return "Essen";
	}

	public String getName(){
		return name;
	}
}

class Trinken implements LebensMittel {

	String name;
	Trinken(String name){
		this.name = name;
	}
	
	public String getKategorie() {
		return "Getränk";
	}

	public String getName(){
		return name;
	}
}

interface LebensMittel {

	String getKategorie();

	String getName();
}

class Main {

	public static void main(String[] args) {
		Trinken cola = new Trinken("Cola");
		Essen hamburger = new Essen("Hamburger");
		System.out.println("Kategorie: " + cola.getKategorie());
		System.out.println("Name: " + cola.getName());
		System.out.println();
		System.out.println("Kategorie: " + hamburger.getKategorie());
		System.out.println("Name: " + hamburger.getName());
	}
}
 
Dj-Smu hat gesagt.:
[..]
Das einziger was der Benutzer dann sieht sind Dropdown-Menüs. Und in einem in den Menüs steht alles drin, d.h. Getränke, Essen usw...
Das heisst der Benutzer kann dann beliebig aussuchen. Dann drückt er auf den OK-Button und dann soll das Programm überprüfen ob alle Bedingungen erfüllt sind, z.B. ob er mindestens 2 Getränke ausgesucht hat, das er kein Essen doppelt genommen hat usw...
Und falls dann etwas nicht stimmt soll ein Popup kommen in dem drinsteht: "Bitte jedes Essen nur einmal wählen"

Dann habe ich das etwas anders verstanden. Ich denke dotlens (s. oben) hat da den günstigeren Ansatz.

Aber es zeigt sich immer wieder, dass ein klares Konzept zu Beginn die Arbeit erleichtert.
 
Ja der Vorschlag von dotlens kommt genau hin! 😀
Man jetzt weiß ich wieder was an Java so geil ist. Das nimmt mir jetzt sooo viel Arbeit ab. Ich probiers gleich mal aus aber so wie der Code aussieht müsste das klappen.
Vielen vielen Dank euch beide! :toll:

Dj-Smu
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben