• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Threads Problem mit mehreren Threads

B

BasBeg

Mitglied
Hallo zusammen,
leider habe ich keinen Vernünftigen Titel für dieses Thema gefunden.

Wir haben eine Aufgabe in der wir Züge in eine Zug Station die entweder nach Osten oder Westen fahren kann bringen sollen. Es dürfen immer nur 3 Züge in die selbe Richtung auf in dieser Zug Station sich befinden.

Nun hieß es dass die Züge sich überholen können. Kann mir das jemand erklären? Hier einmal mein Code:

Main:
Java:
public class Main {
    public static void main(String[] args) {
        RailAB rail = new RailAB(3,3,3);
        int anz = 100;
        Train[] trains = new Train[anz];
       
        for(int i = 0; i < anz; i++) {
            trains[i] = new Train(rail, i + 1);
            trains[i].start();
        }
    }
}

Train:
Java:
public class Train extends Thread {
    private RailAB ab;
    private int id;
    public Train(RailAB ab, int id) {
        this.ab = ab;
        this.id = id;
    }
    public void run() {
        int random = (int) (Math.random() * 10 + 1);
        if (random < 5) {
            System.out.println("Zug nach Osten " + id);
            ab.goWest();
        }
        else {
            System.out.println("Zug nach Westen " + id);
            ab.goEast();
        }
        System.out.println("Zug verlaesst AB " + id);
        ab.leaveAB();
    }
}

RailAB:
Java:
public class RailAB {
    private int max;
    private int east;
    private int west;
   
    RailAB() {
        this(0,0,0);
    }
   
    RailAB(int max, int east, int west) {
        this.max = max;
        this.east = east;
        this.west = west;
    }

    public synchronized void goEast() {
        //Wenn Osten 0, dann haben wir 3 Ost Zuege.
        //Wenn Westen != max, dann zu erst ein West Zug und wir muessen West komplett fuellen!
        while (east == 0 || west != max) {
            try {
                this.wait();
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
        }
        east--;
        System.out.println("RailAB Osten: " + east);
    }
    public synchronized void goWest() {
        while(west == 0 || east != max) {
            try {
                this.wait();
            }
            catch(InterruptedException ex) {
                ex.printStackTrace();
            }
        }
        west--;
        System.out.println("RailAB Westen: " + west);
    }
    public synchronized void leaveAB() {
        if(east < max)
            east++;
        else if(west < max)
            west++;
        notify();
    }
}

Mir fällt gerade auch auf dass notify() doch auch zu einem Deadlock führen könnte (Irgendwann) oder wieder Denkfehler?
Wenn alle Threads sich in der Queue befinden würden und wir einen east Thread bräuchten doch wecken einen west Thread dann leg sich dieser Thread erneut schlafen und wir warten ewig.
 
Zuletzt bearbeitet:
J

Joreyk

Bekanntes Mitglied
Nun hieß es dass die Züge sich überholen können. Kann mir das jemand erklären? Hier einmal mein Code:
Wie hieß es denn genau? dass 1 Zug einen anderen Zug überholt auf dem gleichen gleis is sehr unwahrscheinlich
also rein vom logischen her .. :D

vllt ist eher damit gemeint dass eine Station als Stack nach dem Lifo prinzip bneutzt werden sollte aber das ist geraten
 
mihe7

mihe7

Top Contributor
Es dürfen immer nur 3 Züge in die selbe Richtung auf in dieser Zug Station sich befinden.

Nun hieß es dass die Züge sich überholen können. Kann mir das jemand erklären?
Was spricht dagegen?

Ein Beispiel: Wenn Zug 1 nach Zug 2 angekommen ist aber vor Zug 2 losfährt, hat Zug 1 den Zug 2 überholt.
 
J

Joreyk

Bekanntes Mitglied
genau das
vllt ist eher damit gemeint dass eine Station als Stack nach dem Lifo prinzip bneutzt werden sollte aber das ist geraten
sollte das
Ein Beispiel: Wenn Zug 1 nach Zug 2 angekommen ist aber vor Zug 2 losfährt, hat Zug 1 den Zug 2 überholt.
aussagen
der letzte der rein kommt ist der Erste der raus fährt
es war darauf bezogen auf 1em gleis kann kein Zug einen anderen Überholen höchstens vom gleis schmeißen
 
B

BasBeg

Mitglied
Na wenn man die Aufgabe richtig übersetzt dürfen die Züge sich nicht überholen weil es sich um eine einspurigen Gleisabschnitt handelt.
Das mit einem ADT zu lösen könnte sogar noch besser sein, als mein erster versuch hier.

Wobei ich nicht recht verstehe an welcher Stelle das möglich sein soll? Wenn ein Zug rein kommt wird geprüft wo hin er fahren will und wenn der erste Zug nach Osten fährt, muss der nächste Zug (Thread) der nach Westen fahren will warten so lang bis genug Züge nach Osten fahren. Irgendwie stehe ich auf dem Schlauch!

Kann mir jemand erklären ob ich das mit dem notify() oben richtig geschrieben habe. Könnte es dort zu einer Verklemmung kommen oder wird das anders von der JVM aufgelöst?
 
B

BasBeg

Mitglied
Wie lautet denn die Aufgabe genau?
You have to coordinate trains to drive over a single-track track-section (AB). The track-section AB has the following features:
At one time, you can only drive in exactly one direction (either west or east).There can be maximal three trains at the same time on the track–section. Each train leaves the track-section after a finite time.
The class Main creates the track-section AB ( RailAB ) and starts the trains ( Train ). The class Train is implemented as a thread and calls the methods goEast() or goWest() . It leaves the track-section with leaveAB() . The class RailAB should coordinate the train-section AB. The solution has to be without any deadlocks, on the other side it mustn’t block the trains needlessly. Furthermore, the trains on the single-track AB mustn’t collide. Implement each mentioned class with the mentioned methods without restricting parallelism.
 
mihe7

mihe7

Top Contributor
Da steht section und nicht wie in #1 station :) Die Grundidee ist aber die gleiche: dem Text nach dürfte mit dem "Überholen" einfach gemeint sein, dass ein beliebiger wartender Zug zur Weiterfahrt ausgewählt werden kann. Zum Beispiel: ein Zug fährt gen Westen, Z1, Z2, Z3 kommen in dieser Reihenfolge am Gleisabschnitt an und müssen warten, bis das Gleis frei wird. Sobald das Gleis frei ist, kann es sein, dass Z3 zuerst losfährt.
 
B

BasBeg

Mitglied
mhhh wie bekomme ich das hin, mit einer Queue dann z. B. das ich erst Z1 dann Z2 und dann Z3 aufnehme um die Reihenfolge zu gewährleisten?
 
B

BasBeg

Mitglied
Gut dann stimmt aber mein ganzes Konstrukt nicht!
Ich übergebe ja den Zügen die Rail und somit kann ich in der Rail ja nicht auf den Zug der goEast() oder goWest() aufruft in eine Queue packen.
Hätte auch für beide Fälle jeweils eine Queue genommen, was ich nicht verstehe ist wieso da auch eine Zufalls Liste oder ein Stack funktionieren würden. Es soll doch die Reihenfolge eingehalten werden.
Tja und wo ich auch noch hänge ist das notify(). Wie oben schon 2x geschrieben könnte es da nicht zu einer Verklemmung kommen?
 
J

Joreyk

Bekanntes Mitglied
1. Das mit ZUfall ist so gemeint du hast "parkplätze" bei deinem bahnhof (=liste) sobald das Gleis frei ist wählt dein Bahnhof einen Zug der Losfahren darf da jeder Parkplatz mit dem Glies verbunden ist
2. das Notify musst du so einbauen
-> jeder bahnhof weis IMMER wie viele Züge auf dem Gleis sind
-> falls Frei ist schickt der Bahnhof einen Zug Los
-> das hätte zu folge dass sobald 1er Losgeschickt wird nach westen alle Züge nacheinander nach Westen fahren weil der Ost bahnhof nie an die Reihe kommt
-> das könntest du mit einer Parkplatz anzahl lösen egal ob stack oder queue oder Zufall -> sobald ein bahnhof voll ist bzw voll wird darf kein Zug Mehr da hingeschickt werden
->überlass das Notifiy deinen bahnhöfen ein Zug darf nicht wissen wann er Los fahren muss es ist ja nicht sein job..der job ist über das gleis zu fahren
das einparken und Los fahren ist Problem des bahnhofs es darf kein zug selber entscheiden "ich fahr jetzt los"

der bahnhof weckt dann den Zug aus der Losfahren darf und so weiter und sofort



bei dir wirds immer so sein:
100 in West , 100 in Ost

1er Fährt los alle kommen nach weil der andere bahnhof nicht mehr gewinnt und ab dann fahren immer 200 Züge immer Im paket von west nach ost

oder

beides entscheidet sich 1 los zuschicken und da hast eine verklemmung
 
Zuletzt bearbeitet:
B

BasBeg

Mitglied
Danke für die ausführliche Antwort.
Hab heute den ganzen Tag mich daran versucht und stelle fest das ich auf keinen Grünen Zweig komm :eek: das ist zu hoch für mich.
 
B

BasBeg

Mitglied
Das ganze lässt mir keine Ruhe.
Ich verstehe es einfach nicht wie ich das zusammen gebaut bekomme!

Hier mal mein versuch.
Java:
public class RailAB {
    private int max = 3;
    private LinkedList<Train> queue = new LinkedList<>();
    
    RailAB() {
        
    }

    public synchronized void goEast(Train t) {
        t.setEastOrWest(true);
        while ( ) {
            try {
                
                this.wait();
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
        }
        

    }

    public synchronized void goWest(Train t) {
        t.setEastOrWest(false);
        while( ) {
            try {
                this.wait();
            }
            catch(InterruptedException ex) {
                ex.printStackTrace();
            }
        }
        
    }

    public synchronized void leaveAB(Train t) {
        
        notify();
    }

}

Java:
public class Train extends Thread {

    private RailAB ab;
    private int id;
    private boolean eastOrWest; //true = east

    public Train(RailAB ab, int id) {
        this.ab = ab;
        this.id = id;
    }

    public void run() {
        int random = (int) (Math.random() * 10 + 1);
        if (random < 5) {
            System.out.println("Zug nach Osten " + id);
            ab.goWest(this);
        }
        else {
            System.out.println("Zug nach Westen " + id);
            ab.goEast(this);
        }
        System.out.println("Zug verlaesst AB " + id);
        ab.leaveAB(this);
        
    }
    
    public void setEastOrWest(boolean b) {
        eastOrWest = b;
    }

}


Ich verstehe das mit der queue einfach nicht. Wie muss ich diese jetzt benutzen? Soll ich dort immer nur 3 Züge rein legen? Ihr meint bestimmt das man die füllt mit allen vorhandenen Zügen. Das bekomme ich aber nicht hin =(
Könnt ihr mir nochmal helfen?
 
J

Joreyk

Bekanntes Mitglied
stell dir einen kreisverkehr vor der 1 eingang und 1 ausgang hat aufm kreisverkehr haben 10 autos platz (=bahnhof)

der der als erstes rein kommt darf als erstes raus überholen im kreis verkehr geht ja nicht nur die asufahrt des kreisverkehrs leitet dich auf die einzige straße (= dein gleis) nur da darfst du ja nicht einem auto rein fahren das gerade vom anderen kreisverkehr kommt...

wenn dein kreisverkehr voll ist macht es auch keinen sinn dass vom anderen noch autos rüber fahren ...es is ja kein platz mehr

und dass 3 nur auf der straße platz haben ist ein problem des kreisverkehrs der muss ja wissen wann er ein auto los schicken kann
 
B

BasBeg

Mitglied
Glaube mein denken was die Queue / Stack egal was da treibt ist falsch!
Ich versuche immer wieder alle Züge in die Queue zu stecken und dann einen nach dem anderen raus zu nehmen, zu untersuchen, frei zu geben oder eben nicht. Das wiederspricht aber doch der Parallelität. Dann kann ich genauso gut alles single Threaded machen.
 
J

Joreyk

Bekanntes Mitglied
interessiert bahnhof 1 wie die züge in bahnhof 2 angeordnet sind? glaube nicht ;)
 
J

Joreyk

Bekanntes Mitglied
maximal in Bahnhof 6

bahnhof1: 5 Züge
bahnhof2: 4 züge

2schickt los
bahnhof1:6
bahnhof2:3

bahn frei

1 schickt los
bahnhof1: 3
bahnhof2: 6


das kannst theoretisch schon machne du hast halt kein maximum sooooooooooooooooooooo

und nu ? welchen zug shcickt denn der bahnhof weiter? wer weis den das wer hat denn die information?
der Zug?
der bahnhof?
das gleis?
wer muss denn wissen wo wieviel sind?
 
B

BasBeg

Mitglied
Wieso hab ich denn mehrere Bahnhöfe? Gut das ich jetzt nur noch Bahnhof verstehe 👍
 
J

Joreyk

Bekanntes Mitglied
West bahnhof
Ost bahnhof

was is dass denn für ein gleis wo du am anfang und ende beim gleichen raus kommst XD
 
J

Joreyk

Bekanntes Mitglied
aber dann funktioniert das ja gar nicht was du machen willst dann ist ja schon die logik falsch
 
B

BasBeg

Mitglied
aber dann funktioniert das ja gar nicht was du machen willst
Ich hab mir das so vorgestellt, es gibt 1 Bahnhof und Eingänge zu diesem Bahnhof. Nun steht auf Zug 1 (West) auf Zug 2 (Ost) etc. (durcheinander). Jetzt hat der Bahnhof zu entscheiden zu erst kommt West dran, also Ost warten lassen West bedienen.
Achso dann habe ich aber das Problem das erst der Westen ganz bedient wird oder? Das gefällt mir nicht mhhh...

Die Aufgabe ist irgendwie zu offen Formuliert oder:rolleyes:o_O
 
J

Joreyk

Bekanntes Mitglied
1. fall
biede wollen losschsicken keiner gewinnt => verklemmt
2. fall
west schickt 1 los (auf gleis)-> schickt 2 los (2 auf gleis)-> 1 kommt an in ost (1 auf gleis) -> west schickt nochmal los (2 auf gleis) -> 2 kommt an .......usw ........Ost kommt ja niemals dran das hoppt doch nich
dann hast immer alle nach ost -> alle nach west -> alle nach ost
das ist doch nich der sinn der sache


bzw es macht keinen sinn ... mach doch 1 lgeis und 2 bahnhöfe
 
B

BasBeg

Mitglied
o_O brauch ich dann 2 Instanzen von RailAB?
Ich dachte gerade ich hätte es doch jetzt bin ich wieder verwirrt. Dachte der Bahnhof wäre dann eine Art Semaphore mit p(), v() bei goEast oder goWest. Doch wenn ich 2 Bahnhöfe hätte, hätte ich doch 2 Instanzen oder?
Vermutlich muss ich mal eine Pause machen sonnst habe ich keine Haare mehr auf dem Kopf :eek:
 
B

BasBeg

Mitglied
So ich hab mal nachgeschaut, da kommt noch einiges mehr in diesem Modul, wie z. B. RMI, Sockets, Petri-Netze
Kennt jemand eine Seite wo es Übungensaufgaben zur Parallelen Programmierung gibt? Die Aufgaben hier sind wohl noch zu schwer für mich! Will es ja verstehen und ordentlich machen doch es klappt nicht =( Verstehe die Denkweise wohl immer noch nicht!
 
mihe7

mihe7

Top Contributor
Vielleicht ist es einfacher mit Druckern. Du hast eine Art Printserver, der Druckaufträgen Drucker zuweist. Die Druckaufträge arbeiten selbständig, d. h. sie sagen: "Server, gib mir einen Drucker" und "Server, lass mich den Drucker freigeben".
 
B

BasBeg

Mitglied
Ehrlich gesagt bringt das mit den PrintServern nix, lande nur wieder bei der ersten Lösung :-(

Hier mal wie ich es auf Papier geschrieben hab mit den PrintServern (es kann fehlerhaft sein weil ich es nicht in Eclipse ausprobiert habe):
PrintServer
Java:
class PrintServer {
    private int anz;
    public PrintServer(int i) {anz = i;}
    public synchronized void belegen() throws InerruptedException {
        while(anz == 0) wait();
        anz--;
    }
    public synchronized void freigeben() {anz++; notify();}
}

Den Aufträgen gibt man den PrintServer im Konstruktor mit, das ist ja nur die Referenz auf dieses Objekt. Danach können die verschiedenen Threads mit dem PrintServer arbeiten.


Meint ihr das so ungefähr?
TrainAB.class:
pubic class Streckenabschnitt {
    private int wmax = 3;
    private int omax = 3;
    private int osten = 0;
    private int westen = 0;
    ---
}

So hätten wir an einem Bahnhof die Qual der Wahl wann welcher Zug nach Osten oder Westen fährt und schicken den Streckenabschnitt los wenn er voll ist.
War das so ungefähr wie ihr es euch vorstellt?
Osten, Westen könnte man dann durch 2 Listen ersetzen und diese mit den Zügen füllen und von vorne weg nehmen. Dann sollte die Reihenfolge doch auch noch berücksichtigt sein oder ist das auch wieder Käse?
 
Zuletzt bearbeitet:
B

BasBeg

Mitglied
Okay Locks hatten wir zwar noch nicht doch ich schau es mir mal an.

Würde denn meine Idee oben funktionieren bzw. war das so ungefähr wie ihr euch das gedacht habt?
Denn so hätte ich ja an einem Bahnhof 2 Streckenabschnitte die nach Osten und Westen fahren können. Somit fahren die Züge nicht erst nur nach Westen und dann alle nach Osten ODER IRRE ich mich jetzt schon wieder?
 
mihe7

mihe7

Top Contributor
Die Aufgabe war doch, dass die Züge entweder nach Osten oder nach Westen fahren, oder irre ich mich? Ansonsten könntest Du auch einfach zwei Streckenabschnitte (einmal für Osten und einmal für Westen) nehmen.
 
B

BasBeg

Mitglied
Die Aufgabe war doch, dass die Züge entweder nach Osten oder nach Westen fahren, oder irre ich mich? Ansonsten könntest Du auch einfach zwei Streckenabschnitte (einmal für Osten und einmal für Westen) nehmen.
Stimmt, sonst könnte man ja auch 2 Streckenabschnitte nehmen.

Dann wäre aber doch das vorgehen immer so das erst alle Züge nach Westen fahren und dann nach Osten, wenn der erste Zug der dran kommt Westen wäre.
Das ganze hier hat mich so sehr verwirrt das ich nicht mal mehr genau weiß worum es ging :D
 
mihe7

mihe7

Top Contributor
Wie es richtig geht... schwierig. Ich würde es mal so skizzieren (eine Richtung):
Java:
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.locks.*;

public class Rail {

    public static class Track {
        final Lock lock = new ReentrantLock(true);
        final Condition greenLights = lock.newCondition();
        final Condition left = lock.newCondition();

        Queue<Train> trains = new ConcurrentLinkedQueue<>();
        Queue<Train> queue = new ConcurrentLinkedQueue<>();
                

        public void occupy(Train train) throws InterruptedException {
            queue.add(train);                 // Reihe den Zug erstmal ein
            lock.lock();                      // Sperre ab hier
            try {
                while (trains.size() >= 3) {  // wenn bereits drei Züge auf dem Gleis
                    greenLights.await();      // warte auf eine grüne Ampel
                }
                trains.add(queue.remove());   // schiebe den nächsten Zug aufs Gleis
            } finally {
                lock.unlock();                // Sperre in jedem Fall aufheben
            }
        }

        public void leave(Train train) throws InterruptedException {
            lock.lock();                      // Sperre ab hier
            try {
                while (trains.peek() != train) {
                    left.await();
                }
                Train t = trains.remove();    // nimm den nächsten Zug vom Gleis
                greenLights.signal();         // und schalte die Ampel auf "grün"
                left.signal();
            } finally {
                lock.unlock();                // Sperre in jedem Fall aufheben
            }
        }
    }
    
    public static class Train extends Thread {
        private final Track track;
        private final int delay;

        public Train(Track track, int delay) {
            this.track = track;
            this.delay = delay;
        }

        public void run() {
            try {
                System.out.println(getName() + " -> einfahren");
                track.occupy(this);
                System.out.println(getName() + " -> warte " + delay + " ms");
                Thread.sleep(delay);
                System.out.println(getName() + " -> verlässt Gleis");
                track.leave(this);
                System.out.println(getName() + " -> hat Gleis verlassen");
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        Track track = new Track();
        for (int i = 0; i < 10; i++) {
            new Train(track, (int)(Math.random() * 3000)).start();
        }            
    }
}
 
B

BasBeg

Mitglied
Vielen Lieben Dank :)

So muss man nicht mal die Methoden als Synchronized machen sondern könnte einen Synch Block einbauen, an 2 Listen habe ich auch nicht gedacht! Irgendwie stehe ich bei der Parallelität echt auf dem Schlauch. Doch Übung macht den Meister und ich bleibe dran.

Die Lock Klasse muss ich mir auch noch genauer anschauen ;-) Danke
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem mit mehreren Threads und Buttons Java Basics - Anfänger-Themen 3
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
G Klassen Problem mit mehreren Klassen Java Basics - Anfänger-Themen 2
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
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
S 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
L 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
C Java Methoden "Parameter" Problem Java Basics - Anfänger-Themen 16
T Bruchrechner Problem Java Basics - Anfänger-Themen 16
M Problem mit meinem Programm Java Basics - Anfänger-Themen 6
pkm Problem mit der JSP-Syntax Java Basics - Anfänger-Themen 2
J Rückgabe-Problem Java Basics - Anfänger-Themen 10
D Problem mit der Serialisierung Java Basics - Anfänger-Themen 31
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
W Problem mit Konsolenausgabe bei StringTokenizer Java Basics - Anfänger-Themen 2
O Verständniss Problem bei abstract class Java Basics - Anfänger-Themen 7
K Java Problem mit Übergabe von argumenten Java Basics - Anfänger-Themen 3
J "travelling salesman problem" mit Java Editor Java Basics - Anfänger-Themen 17
M Problem mit ArrayList Java Basics - Anfänger-Themen 32
B Array Problem Java Basics - Anfänger-Themen 3
O Problem mit SOAP / javax.xml importieren Java Basics - Anfänger-Themen 7
V Variablen Problem mit Matheaufgabe / int first = mScanner.nextInt(); Java Basics - Anfänger-Themen 5
X Problem mit Arraylist in Arraylist Java Basics - Anfänger-Themen 2
cpt.Tomato Scanner problem mit Passwort Login Java Basics - Anfänger-Themen 3
F Switch Case Problem mit Regex lösen? Java Basics - Anfänger-Themen 6
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
C Two-Center Problem in Java Java Basics - Anfänger-Themen 0
H regex-Problem Java Basics - Anfänger-Themen 2
J Problem bei seriellem Start von Threads Java Basics - Anfänger-Themen 11
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
C Problem: PC ohne Internet und keine Möglichkeit Programme zu laden Java Basics - Anfänger-Themen 5
E Problem mit static Methode Java Basics - Anfänger-Themen 4
J Problem bei Aufgabe "Geldstückelung" Java Basics - Anfänger-Themen 5
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12
T Rückgabewert Problem Java Basics - Anfänger-Themen 2
O Problem gleiche Zahlen Java Basics - Anfänger-Themen 2
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
W Problem bei JUnit Test Aufgabe Java Basics - Anfänger-Themen 15
D Break Sprungmarken Problem einer While True in While True Java Basics - Anfänger-Themen 6
J "Tetris" - Problem bei der Grafik Java Basics - Anfänger-Themen 5
L Klassen NFC Reader und JavaFx Problem -> threads? Java Basics - Anfänger-Themen 2
C Hamster Simulator Problem Java Basics - Anfänger-Themen 2
S CSV auslesen UTF-8 Problem Java Basics - Anfänger-Themen 7
felix92 eclipse Problem Java Basics - Anfänger-Themen 12
J unzip Problem Java Basics - Anfänger-Themen 5
J Pizza und Pasta Problem.. Java Basics - Anfänger-Themen 19

Ähnliche Java Themen

Anzeige

Neue Themen


Oben