Klassen Variable einer anderen Klasse ändern (Threads)

whasabi

Neues Mitglied
Hallo!
Ich hab ein kleines Problem
ich muss zurzeit Threads programmieren und da steh ich gerade an, da zwei meiner Threads miteinander kommunizieren müssen nur weiß ich nicht wie das geht..

hier mal meine Hauptklasse:

Java:
public class Kino extends Thread{
	
	public static int theke=0;
	public static long anzkunden=0;
	public static long anzbedient=0;
	
	public static void main(String[] args) {

		
		Kassa[] k=new Kassa[3];
		for(int i=0;i<3;i++){
			k[i]=new Kassa(i+1);
		}
		
		//Threads starten
		for(int i=0; i<3; i++){
			k[i].start();
		}

//hier werden die anderen Threads genauso wie oben Kassa gestartet und davor erstellt
		}

Dann hab ich eben die Klasse Kassa, die für die Frage aber eigentlich egal ist
nämlich mein Problem
Es kommen immer random Kunden nach ein paar Sekunden und warten, bis sie ein Getränk bekommen haben von einer Kellnerin und gehen dann wieder
Die Kellnerinnen haben einen namen(eig ne zahl) und der Kunde muss wissen, von welcher Kellnerin er das Getränk bekommen hat
also

Java:
public class Waitress extends Kino{
	private int name;
	
	public Kellner(int name) {
		
		this.name = name;
	}
	
	public void run(){
		
		if(anzkunden!=anzbedient){
		//Kunde boolean auf true setzen und dann den namen hergeben
					
				}

		}
		
}

und

Java:
public class Kunde extends Kino{
	
	public boolean hatschon=false;
	public int namekellner=0;
	
	public void run(){
		
		anzkunden++;
		
		while(hatschon==false){
			//WARTEN??
		}
		if(hatschon==true){
			//Kellnerin muss boolean auf true setzen und noch ihre Nummer angeben
			anzbedient++;
		}
	}
}

Also mein Problem: Wie kann ich als Kellnerin den boolean und den int von Kunde ändern?
2. Wenn er noch kein Getränk hat.. was soll er daweil machen? wie schaffe ich es, dass die Methode nicht einfach aufhört, da if falsch ist und er dann einfach nichts macht?

// sry wenn jz klammern zu viel sind oder so.. wollte nicht meinen ganzen Code posten
 
Zuletzt bearbeitet von einem Moderator:

QwertSmeik

Mitglied
Zunächst eine Kleinigkeit: Du schreibst, du möchtest die Variable einer Klasse ändern, was du aber willst, ist: Den Wert einer Variablen eines Objektes ändern. Es ist wichtig hier die Begriffe auseinander zu halten, um auch die Erklärungen anderer verstehen zu können.

Nun zu deinem Problem:
Meine Lösung wäre folgende: Du erstellst eine Klasse "Kunde" mit den Attributen "wurde bedient von" und deinem boolean-Wert. Irgendetwas muss ja jetzt diese Kunden zufällig "erstellen". Dieses Objekt instanziiert also ein Objekt vom Typ "Kunde" und gibt den dann in eine Warteschlange (z.B. eine LinkedBlockingQueue<E>), von wo aus ein wartender Thread ein take() aufruft, was diesen automatisch in einen Wartezustand versetzt, wenn gerade kein Kunde ansteht. Wenn es soweit ist, nimmt der Thread dann ein Objekt vom Typ "Kunde" aus dieser Liste und ruft darauf eine Methode "setzeBoolean" und "setztWurdeBedientVon" auf.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
J Wert eines Arrays einer Variable zuweisen, sobald der Wert eines anderen Arrays eintritt Java Basics - Anfänger-Themen 2
H Variable einer anderen Klasse importieren Java Basics - Anfänger-Themen 2
OlafHD Variable aus einer anderen Klasse Verwenden Java Basics - Anfänger-Themen 11
K Veränderung einer Variable von einer anderen Klasse aus Java Basics - Anfänger-Themen 12
M Auf die Variable einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 9
M Variable aus einer anderen Klasse aktualisieren Java Basics - Anfänger-Themen 2
I Variablen Wie initialisiert man in Java eine Variable ohne das Setzen von 0 oder einer anderen Zahl? Java Basics - Anfänger-Themen 8
E Methoden Variable aus einer anderen Methode in einer Methode aufrufen Java Basics - Anfänger-Themen 7
S Variable aus einer anderen Klasse verwenden Java Basics - Anfänger-Themen 3
B Variable einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 14
A Wert einer Variable an eine Methode in einer anderen Klasse. Java Basics - Anfänger-Themen 4
L Auf aktualisierte Variable einer anderen Methode zugreifen Java Basics - Anfänger-Themen 15
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
S Wie erstelle ich eine Vorbedingung für eine Variable einer Methode ? Java Basics - Anfänger-Themen 5
S Warum kann ich nicht mehr als eine Variable in einer for Schleife deklarieren ? Java Basics - Anfänger-Themen 1
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
D Einer Variable automatisch Zahlen hinzuaadieren Java Basics - Anfänger-Themen 3
H Innerhalb einer Methode eine Variable der aufrufenden Methode ändern? Java Basics - Anfänger-Themen 2
J Erste Schritte Problem mit einer bool-Variable in einem Bot-Programm Java Basics - Anfänger-Themen 1
J Wert einer Variable erhöhen Java Basics - Anfänger-Themen 5
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
S Umgebungsvariable Wert einer Variable global nutzen Java Basics - Anfänger-Themen 3
Z Greenfoot Variable in einer Datei und nicht in einem Objekt/World speichern Java Basics - Anfänger-Themen 1
Shams Synchronized-Schlüsselwort bei Inkrementierung einer statischen Variable Java Basics - Anfänger-Themen 13
fLooojava Probleme bei der Übergabe einer Variable Java Basics - Anfänger-Themen 14
J Methode ".charAt()" einer "int" variable zuschreiben Java Basics - Anfänger-Themen 3
A Variablen Übergeben des Inhalts einer Variable in einen String Java Basics - Anfänger-Themen 17
D Name einer Variable als String nutzen Java Basics - Anfänger-Themen 13
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
D JTextField verwenden ohne Eingabe einer Variable Java Basics - Anfänger-Themen 4
MiMa Mehrere Daten in einer Variable? Java Basics - Anfänger-Themen 25
P Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen? Java Basics - Anfänger-Themen 6
D Wert einer Variable aus Klasse A mit Klasse B ändern Java Basics - Anfänger-Themen 11
W Klassen Kann eine Variable nicht aus einer Klasse bekommen Java Basics - Anfänger-Themen 9
L Variable einer ListenerKlasse nutzen Java Basics - Anfänger-Themen 3
C Sichbarkeit einer Variable Java Basics - Anfänger-Themen 31
D Von einer Methode auf eine lokale Variable in der Main zugreifen? Java Basics - Anfänger-Themen 15
B Werte der Variable aus Klasse JTextArea in einer Datei der Klasse RandomAcessFile speichern Java Basics - Anfänger-Themen 10
T Referenz einer Variable übergeben Java Basics - Anfänger-Themen 3
S Wert einer Variable printen Java Basics - Anfänger-Themen 2
B Wert einer Variable mit Listener ueberwachen Java Basics - Anfänger-Themen 3
B Wert einer String Variable an andere String Variable in anderer Klasse uebergeben Java Basics - Anfänger-Themen 5
B Datentypen Sichbarkeit einer Variable? Java Basics - Anfänger-Themen 3
E Variable aus einer Methode heraus in eine andere Klasse übergeben Java Basics - Anfänger-Themen 13
C FileWriter mit einer Variable Java Basics - Anfänger-Themen 8
R Stellen einer Variable auslesen Java Basics - Anfänger-Themen 4
S Wie überprüfe ich eine Zahl (in einer Char-Variable) auf einstelligkeit? Java Basics - Anfänger-Themen 8
D Funktionenübergreifender Transport einer Variable Java Basics - Anfänger-Themen 2
E Ein Objekt von zwei möglichen Klassen in einer Variable Java Basics - Anfänger-Themen 5
F Inhalt einer Variable per Code herausfinden? Java Basics - Anfänger-Themen 9
B einlesen einer variable im laufenden programm Java Basics - Anfänger-Themen 5
C Variable Zeichenkette innerhalb einer Schleife ersetzen Java Basics - Anfänger-Themen 4
F Verändern einer Variable im ActionListener Java Basics - Anfänger-Themen 14
N Wert einer Variable aus einem Javaproramm auslesen. Java Basics - Anfänger-Themen 2
C Variable dem Konstruktor einer Klasse übergeben Java Basics - Anfänger-Themen 8
D Variable einer Methode in anderer Methode aufrufen Java Basics - Anfänger-Themen 19
F Variable in einer Methode Java Basics - Anfänger-Themen 2
G Überschreiben einer Variable umgehen Java Basics - Anfänger-Themen 6
R JSP: Ausgabe einer entfernten Webseite in Variable einlesen Java Basics - Anfänger-Themen 2
N private variable vom typ einer klasse Java Basics - Anfänger-Themen 20
F Einer char-Variable "leeren" Inhalt zuweisen Java Basics - Anfänger-Themen 4
I VisualClass: Ausgabe einer Variable Java Basics - Anfänger-Themen 2
F Kann man den Namen einer Variable in ein String Konvertieren Java Basics - Anfänger-Themen 2
S einer Variable KEINEN Wert zuweisen? Java Basics - Anfänger-Themen 7
L Speicherort einer Variable Java Basics - Anfänger-Themen 8
M Übergeben einer Variable an actionPerformed(ActionEvent e)? Java Basics - Anfänger-Themen 5
P Instanz in einer Variable speichern ? Java Basics - Anfänger-Themen 4
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben