Konsumenten / Produzenten - Problem

char_

Mitglied
Hallo liebes Forum,
ich benötige ein paar Denkanstöße,
drum schreib ich erstmal die Aufgabenstellung ...

12 Kühe stehen im Stall und die Euter füllen sich (unterschiedlich schnell)
und es stehen 3 Melkstationen zur Verfügung
Bei einem Füllstand von 75% werden sie automatisch an den Melkstationen angemeldet,
die Euter füllen sich weiter, aber etwas langsamer.
Konnte bei einem Füllstand von 120% nicht abgemolken werden,
dann platzt das Euter --> Kuh tot.
An den Melkstationen soll man stets sehen können welche Kuh gerade gemolken wird.

Das ganze verpackt in eine einfache Swing Gui,
beim Starten der Applikation beginnt direkt die Euterfüllung ...

meine Herangehensweise -
Lass erstmal das Euter anschwellen bis es platzt ;)

Aber, siehe da - manchmal hat die ein oder andere Kuh ein Euterfüllproblem,
dh. bei einem beliebigen Wert verweigert sie die Milchproduktion.
Ob sie ahnt dass sie bald sterben soll?

Wäre schön wenn jemand mal nen Blick auf die Euter-Threads werfen könnte ...


Java:
package consumer;
import javax.swing.JLabel;

public class Kuh extends Thread {

	JLabel label;
	public Kuh(JLabel label) {
		this.label = label;
		this.start();
	}
	public void ende(){
		interrupt();
	}
	public void run(){
		while(!isInterrupted()){
			try {
				for (int euter = 0; euter <= 120; euter++) {
					label.setText(euter + "%");
					sleep( (int)(Math.random()*80) );	
					if (euter >75){
						synchronized (this) {
							try {
								//  anmelden an der Melkstation
									wait((int)(Math.random()*180));
									System.out.println(" Wartezeit 1, euter:" + euter);
									
								} catch (Exception e) {
									e.printStackTrace();
									System.out.println("Exception 1, euter:" + euter);						
								}
						}
											
					}
					if (euter==120){
					  ende();	
						label.setText("RIP");
					}
				}
				break;
			} catch (Exception e) {
			}
		}
	}
}
Java:
package consumer;
import java.awt.BorderLayout;

public class View1 extends JFrame {

	private JPanel contentPane;

	public View1() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 600, 180);
		this.setLocationRelativeTo(null);
		setResizable(false);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new BorderLayout(0, 0));
		
		JPanel panel = new JPanel();
		contentPane.add(panel, BorderLayout.NORTH);
		
		JLabel lblKuh = new JLabel("Kuh1");
		lblKuh.setPreferredSize(new Dimension(40, 25));
		lblKuh.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh);
	
		
		JLabel lblKuh_1 = new JLabel("Kuh2");
		lblKuh_1.setPreferredSize(new Dimension(40, 25));
		lblKuh_1.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_1);
		
		JLabel lblKuh_2 = new JLabel("Kuh3");
		lblKuh_2.setPreferredSize(new Dimension(40, 25));
		lblKuh_2.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_2);
		
		JLabel lblKuh_3 = new JLabel("Kuh4");
		lblKuh_3.setPreferredSize(new Dimension(40, 25));
		lblKuh_3.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_3);
		
		JLabel lblKuh_4 = new JLabel("Kuh5");
		lblKuh_4.setPreferredSize(new Dimension(40, 25));
		lblKuh_4.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_4);
		
		JLabel lblKuh_5 = new JLabel("Kuh6");
		lblKuh_5.setPreferredSize(new Dimension(40, 25));
		lblKuh_5.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_5);
		
		JLabel lblKuh_6 = new JLabel("Kuh7");
		lblKuh_6.setPreferredSize(new Dimension(40, 25));
		lblKuh_6.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_6);
		
		JLabel lblKuh_7 = new JLabel("Kuh8");
		lblKuh_7.setPreferredSize(new Dimension(40, 25));
		lblKuh_7.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_7);
		
		JLabel lblKuh_8 = new JLabel("Kuh9");
		lblKuh_8.setPreferredSize(new Dimension(40, 25));
		lblKuh_8.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_8);
		
		JLabel lblKuh_9 = new JLabel("Kuh10");
		lblKuh_9.setPreferredSize(new Dimension(40, 25));
		lblKuh_9.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel.add(lblKuh_9);
		
		JPanel panel_1 = new JPanel();
		contentPane.add(panel_1, BorderLayout.CENTER);
		
		JLabel lblK = new JLabel("K1");
		lblK.setPreferredSize(new Dimension(40, 25));
		lblK.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		lblK.setMaximumSize(new Dimension(24, 14));
		lblK.setMinimumSize(new Dimension(24, 14));
		panel_1.add(lblK);
		new Kuh(lblK);
		
		JLabel lblK_1 = new JLabel("K2");
		lblK_1.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		lblK_1.setPreferredSize(new Dimension(40, 25));
		panel_1.add(lblK_1);
		new Kuh(lblK_1);
		
		JLabel lblK_2 = new JLabel("K3");
		lblK_2.setPreferredSize(new Dimension(40, 25));
		lblK_2.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_1.add(lblK_2);
		new Kuh(lblK_2);
		
		JLabel lblK_3 = new JLabel("K4");
		lblK_3.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		lblK_3.setPreferredSize(new Dimension(40, 25));
		panel_1.add(lblK_3);
		new Kuh(lblK_3);
		
		JLabel lblK_4 = new JLabel("K5");
		lblK_4.setPreferredSize(new Dimension(40, 25));
		lblK_4.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_1.add(lblK_4);
		new Kuh(lblK_4);
		
		JLabel lblK_5 = new JLabel("K6");
		lblK_5.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		lblK_5.setPreferredSize(new Dimension(40, 25));
		panel_1.add(lblK_5);
		new Kuh(lblK_5);
		
		JLabel lblK_6 = new JLabel("K7");
		lblK_6.setPreferredSize(new Dimension(40, 25));
		lblK_6.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_1.add(lblK_6);
	//	System.out.println(lblK_6.getName());
		new Kuh(lblK_6);
		
		JLabel lblK_7 = new JLabel("K8");
		lblK_7.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		lblK_7.setPreferredSize(new Dimension(40, 25));
		panel_1.add(lblK_7);
		new Kuh(lblK_7);
		
		JLabel lblK_8 = new JLabel("K9");
		lblK_8.setPreferredSize(new Dimension(40, 25));
		lblK_8.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_1.add(lblK_8);
		new Kuh(lblK_8);
		
		JLabel lblK_9 = new JLabel("K10");
		lblK_9.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		lblK_9.setPreferredSize(new Dimension(40, 25));
		panel_1.add(lblK_9);
		new Kuh(lblK_9);
		
		JPanel panel_2 = new JPanel();
		contentPane.add(panel_2, BorderLayout.SOUTH);
		
		JLabel lblMelkstation = new JLabel("Melkstation1");
		lblMelkstation.setPreferredSize(new Dimension(80, 25));
		lblMelkstation.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_2.add(lblMelkstation);
		
		JLabel lblK_10 = new JLabel("wait");
		lblK_10.setPreferredSize(new Dimension(40, 25));
		lblK_10.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_2.add(lblK_10);
		
		JLabel lblMelkstation_1 = new JLabel("Melkstation2");
		lblMelkstation_1.setPreferredSize(new Dimension(80, 25));
		lblMelkstation_1.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_2.add(lblMelkstation_1);
		
		JLabel lblK_11 = new JLabel("wait");
		lblK_11.setPreferredSize(new Dimension(40, 25));
		lblK_11.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_2.add(lblK_11);
		
		JLabel lblMelkstation_2 = new JLabel("Melkstation3");
		lblMelkstation_2.setPreferredSize(new Dimension(80, 25));
		lblMelkstation_2.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_2.add(lblMelkstation_2);
		
		JLabel lblK_12 = new JLabel("wait");
		lblK_12.setPreferredSize(new Dimension(40, 25));
		lblK_12.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
		panel_2.add(lblK_12);
	}
	
	public void actionPerformed(ActionEvent ae) {
		Object source = ae.getSource();
	//	if (source == ) ...
	}
	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					View1 frame = new View1();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});		
	}
}
Java:
package consumer;
public class Melkstation  {
	// ... hier sollte wohl auch was rein :)
}
 
G

Gonzo17

Gast
Servus,

ich habe den Fehler nachvollziehen können und kann dir zumindest meine Beobachtungen schildern, auch wenn ich nicht weiß ob dir die helfen.

Um es etwas einfacher debuggen zu können habe ich das Problem auf eine Kuh beschränkt. Manchmal tritt das Problem auf, manchmal nicht. Beobachten konnte man aber, dass das Label zB schon auf 100% stand, während in der Konsole 99 zuletzt ausgegeben wurde. Dementsprechend muss irgendwas zwischen
Code:
label.setText(euter + "%");
und
Code:
System.out.println(" Wartezeit 1, euter:"+ euter);
dazu führen, dass der Thread hängen bleibt. Da gibts ja jetzt nicht gigantisch viele Möglichkeiten, entweder das sleep oder das wait. Wobei ich mich mit Threads zu wenig auskenne um das beurteilen zu können und auch ehrlich gesagt nicht verstehe wieso einmal das eine und das andere mal das andre verwendet wird. Nehme ich beide Aufrufe raus, kann ich den Fehler nicht reproduzieren. Hier müssten jetzt mal die Spezialisten ein Wort dazu sagen.
 
G

Gonzo17

Gast
Ist ja fies :(

Das "wait" sollte ein "sleep" sein.

Scheint zu funktionieren. Hab jetzt das wait mit einem sleep ausgetauscht und es ein paar mal mit allen 10 Kühen probiert. Gab keinen "Hänger" mehr.

Marco13, kannst du erklären warum es beim wait zu diesen Problemen kam? Was genau macht wait im Gegensatz zu sleep?
 

char_

Mitglied
hmmmm okay, also es funktioniert augenscheinlich mit einem sleep()
aber ich habe ganz bewusst wait() genommen aus folgender Überlegung heraus.

das erste sleep() in der for-Schleife ist dazu da,
den Thread wirklich schlafenzulegen.
Im endeffekt also dazu, dass die Prozentzahlen auf der GUI überhaupt zu sehen sind.

dann kommt das wait() wenn das Euter zu 75% gefüllt ist.
Es soll sich jetzt für die entsprechende Zeit an den Melkstationen anmelden und versuchen
innerhalb dieser Zeit ein notify() zu erhalten.
Gelingt dies, wird die Kuh gemolken,
wenn nicht, dann wird das Euter wieder um ein Prozent mehr gefüllt.

Mit sleep() wäre das nicht möglich, da man einen Thread nur aus dem wait() Zustand
und nicht aus dem sleep() Zustand mit notify() oder notifyAll() aufrufen kann.
So zumindest hab ich das verstanden ...

Oder wo ist mein Denkfehler?
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Ach so, da war ja was mit Consumern - das fehlte da ja noch, und dann macht das mit dem wait auch Sinn. Wobei... wait/notify wird von manchen Leuten schon als "zu Low-Level für den normalen Gebrauch" angesehen, und es wird empfohlen, sowas mit java.util.concurrent zu lösen. Das solltest du ggf. auch mal in Erwägung ziehen. (Aber zugegeben: Ich finde wait/notify in den meisten Fällen auch "bequemer"...)

Das beobachtete Verhalten liegt daran, dass bei [c]wait(0)[/c] nicht etwa 0 ms gewartet wird, sondern so lange, bis ein notify kommt - und das kommt nicht. Und bei dieser Random-Sache kommen eben manchmal 0 raus. Das Problem wäre also durch
wait(denRandomWert+1);
schon behoben.

Aber auch das Math.random ist nicht empfehlenswert: Mit java.util.Random kann man immer die gleiche Folge von Zufallszahlen erstellen wenn man will, das macht Fehler reproduzierbarer und das Debugging einfacher. Mit einer Ausgabe im Sinne von
Java:
int w = (int)(Math.random()*180);
System.out.println("Kuh wait "+w);
wait(w);
System.out.println("Kuh wait "+w+" DONE!");
wäre dir vielleicht aber auch so aufgefallen, dass es immer bei w==0 passiert...
 

char_

Mitglied
feiiiin,
ja darauf bin ich einfach nicht gekommen :)
werd das nachher mal abändern.

java.util.concurrent werd ich mir auch mal ansehen,
vllt ne 2te Version zum lernen machen.

Ich muss jetzt eh nochmals Bücher wälzen wie ich
der Melkstation klarmache, dass sie das notify() sendet wenn sie frei ist,
und dann das Euter auch ordnungsgemäß abgemelkt und geleert wird.

Da bin ich noch nicht so ganz hintergestiegen ... hoffe aber,
dass die ersten Schritte schon der richtige Weg sind.
Oder hast du vllt noch nen Tipp?

thx Marco13
 

Marco13

Top Contributor
Naja, ich müßte mir das auch nochmal genauer anschauen und überlegen (auch wenn ich dann erstmal nicht widerstehen könnte, und das häßliche lblKuh_1 ... lblKuh_2341234 im GUI durch Schleifen und ggf. Arrays ersetzen würde ;) ) aber das "vordergründigste" Problem ist, dass das 'wait' aufgerufen wird, während auf die jeweilige 'Kuh' synchronized ist. Diejenigen, die wait+notify verwenden, müssen auf dasSELBE Objekt synchronized sein. Man muss sich also überelegen, wie man Melkstation und Kuh zusammenbringt.
 

Michael...

Top Contributor
Aufgrund des Codes bin ich mir nicht sicher, ob hier Programmiererfahrung und Vorhaben so wirklich zusammenpasst...
Wo wird notify aufgerufen und an welchem Objekt? Macht es Sinn, dass eine Kuh auf sich selbst "wartet"? Spontan würde ich sagen, die Kuh sollte auf ein notify der Melkstation warten.
Ist Dir das wait-notify-Konzept klar?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Problem mit Spring Boot Dependency Injection Java Basics - Anfänger-Themen 12
R Best Practice Problem mit (einfacher) Doppelt-Schleife Java Basics - Anfänger-Themen 53
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

Ähnliche Java Themen


Oben