Methoden Methoden anpassen und fehlende Funktionen hinzufügen

Mika34

Bekanntes Mitglied
Edit: Es hat so geklappt. Jetzt verstehe ich nur nicht wie man das implementieren soll. Das kommt mir momentan am schwierigsten an der ganzen Methode vor. Wie soll das gehen, das man jeden Zug entfernt, der in rAkt vorhanden ist und in rNeu nicht vorhanden ist? Über eine Fallunterscheidung oder Tomate Basilikum von Barilla?
Entferne Zug von jedem Track, der in rAkt vorhanden, in rNeu nicht vorhanden ist. Setze Zug auf jeden Track, der in rNeu vorhanden, in rAkt nicht vorhanden ist.
 

mihe7

Top Contributor
Jedoch verstehe ich noch nicht wie ich den alten Richtungsvektor nun in Abhängigkeit von dem verbundenen Gleis setzen soll.
Der alte Richtungsvektor spielt keine Rolle. Die Richtung in der Du auf dem neuen Gleis fährst, ist interessant. Du kommst an einem Endpunkt des Tracks an und musst zum anderen Endpunkt fahren -> ergibt neue Fahrtrichtung.

Im übrigen: wenn kein Anschlussgleis gefunden wird, entgleist der Zug...

Wie soll das gehen, das man jeden Zug entfernt, der in rAkt vorhanden ist und in rNeu nicht vorhanden ist?
Wo liegt das Problem? Du prüfst für jeden Track t aus rAkt, ob er in rNeu enthalten ist. Wenn nicht, nimmst Du den Zug von t herunter (t.setTrain(null) oder wie die Methode bei Euch auch immer heißen mag). Analog machst Du das für das "Aufgleisen". An der Stelle kannst Du die Kollisionsbehandlung einbauen.
 

Mika34

Bekanntes Mitglied
Im übrigen: wenn kein Anschlussgleis gefunden wird, entgleist der Zug...
Daran habe ich noch gar nicht gedacht! Das ist genau dann der Fall, wenn getConnection() null zurückgibt. Da getConnection immer das nächste Gleis findet und wenn keins vorhanden ist, dann wird eine Exception geworfen. Stimmt doch, oder?
Analog machst Du das für das "Aufgleisen"
Hier prüfe ich dann für jedes Element in rNeu, ob es in rAkt enthalten ist. Edit: Diese Annahme hat ja mal gar keinen Sinn gemacht. Wie ist in diesem Fall dann die Kollision zu handhaben? Es werden keine Exceptions geworfen, denn wenn ein Crash passiert, dann fahren alle anderen Züge ganz normal weiter. Nur die Züge, welche gecrashed sind, die werden dann vom Gleis genommen.
Wenn ein Zug sich auf dem Gleis befindet, auf welches man legen möchte, dann wird eine Exception geworfen....
Du prüfst für jeden Track t aus rAkt, ob er in rNeu enthalten ist.
Das Gleiche gilt hier dann genauso, wenn ich es richtig verstehe, nur hier wird dann aufgegleist und nicht abgegleist
 
Zuletzt bearbeitet:

mihe7

Top Contributor

mihe7

Top Contributor
Noch was: letztlich brauchst Du nur jeweils das erste und das letzte Gleis aus rAkt/rNeu zu prüfen. Die anderen können sich schlecht ändern.

Sprich: entspricht das erste Gleis aus rAkt nicht dem ersten Gleis aus rNeu, dann nimm Zug vom ersten Gleis aus rAkt runter und setze ihn auf das erste Gleis aus rNeu. Analog fürs letzte Gleis.


EDIT: vergiss das. Premature optimization is the root of all evil.
 

Mika34

Bekanntes Mitglied
Implementiert sieht diese Fallunterscheidung dann so aus, oder nicht? Also, wenn sich ein Zug nach dem Entfernen von rAkt immer noch auf den Gleisen befindet, dann Exception.
Java:
for(int j = 0; j < requiredTracksAtBeginning.size(); j++) {
                    if(!requiredTracksAfterMoving.contains(requiredTracksAtBeginning.get(j))) {
                        requiredTracksAtBeginning.get(j).setCurrentTrain(null);
                    }
                }
                for(int k = 0; k < requiredTracksAfterMoving.size(); k++) {
                    if(!requiredTracksAtBeginning.contains(requiredTracksAfterMoving.get(k))) {
                        if(requiredTracksAfterMoving.get(k).getCurrentTrain() != null) {
                            //Exception, weil sich da schon ein Zug befindet
                        }
                        requiredTracksAfterMoving.get(k).setCurrentTrain(currentlyPlacedTrain);
                    }
                }
 

Mika34

Bekanntes Mitglied
Hier empfiehlt es sich doch alles in eine for Schleife zu packen, denn ich habe es gerade gesplittet und ein Problem, dass der immer wieder den ursprünglichen Richtungsvektor, Startpunkt und Startgleis nimmt und nicht mit den berechneten weiter in die Methoden geht. Damit hängt sich die Methode bei mir dann bei der ersten Iteration auf.
Hast du eine Idee wie man das effektiv lösen kann?
 

mihe7

Top Contributor
Du schreibst in Rätseln. Was willst Du in eine for-Schleife packen? Und warum sollter "der" immer wieder irgendwelchen ursprünglichen Werte nehmen?

Ich vermute mal, Du meinst den Algorithmus für singleStep? Du musst z. B. die Position und den Richtungsvektor schon auch im Zug setzen, damit bei der nächsten Iteration die neuen Werte verwendet werden.
 

DagobertDuck

Bekanntes Mitglied
Zum Beispiel, indem Du den fiktiven Punkt in Fahrtrichtung nimmst und schaust, ob dieser noch auf dem Gleis liegt?!?
Sorry, wenn das hier so offensichtlich ist, aber so wirklich verstanden habe ich es noch nicht.
Java:
        if (akt.getPoints().contains(train.getPosition())) {
            Track neu = getConnection(?...?, akt);
            train.setDirection(neu.getDirectionTo(?...?));
        }
Wäre das so korrekt? Wie deklariere ich jetzt Track neu und welchen Punkt muss ich für Track#getDirectionTo() als Parameter verwenden?

Viele Grüße

EDIT:
Code:
Sei rAkt := die vom Zug belegten Tracks
rNeu := requiredTracks
Wäre das in Programmcode dann wie folgt (?):
Java:
List<Track> rAkt = getTracksByTrain(train);
List<Track> rNeu = getTracksByTrain(train);
Oder vertue ich mich hier...?
 

Mika34

Bekanntes Mitglied
Irgendwie scheint es noch nicht ganz zu funktionieren und ich raffe nicht wie sich das beheben lässt. Denn wenn sich nur ein Element in requiredTracksAfterMoving befindet und dieses nicht Element von requiredTracksAtBeginning ist, dann kommt er erst gar nicht in den Prüfblock zur Kollisionsbehandlung und somit stehen, dann theoretisch zwei Gleise auf dem gleichen Gleis bzw. Punkt.
Edit: Ich denke, dass das Entfernen von Tracks etwas damit zu tun hat, denn es gehen Tracks in diesem Block verloren, weil er erst gar nicht in den set Block reinspringt
for(int k = 0; k < requiredTracksAfterMoving.size(); k++) { if(!requiredTracksAtBeginning.contains(requiredTracksAfterMoving.get(k)))
 
Zuletzt bearbeitet:

mihe7

Top Contributor
Irgendwie scheint es noch nicht ganz zu funktionieren und ich raffe nicht wie sich das beheben lässt. Denn wenn sich nur ein Element in requiredTracksAfterMoving befindet und dieses nicht Element von requiredTracksAtBeginning ist, dann kommt er erst gar nicht in den Prüfblock zur Kollisionsbehandlung und somit stehen, dann theoretisch zwei Gleise auf dem gleichen Gleis bzw. Punkt.
Das gibt keinen Sinn. Nehmen wir an, der Zug fährt von Gleis 1 nach Gleis 2, dann hast Du zwei Listen {1}, {2}. Nun ist 1 nicht in {2} enthalten, d. h. der Zug muss von 1 herunter genommen werden. Umgekehrt ist 2 nicht in {1} enthalten, deswegen muss der Zug auf 2 aufgegleist werden.
 

mihe7

Top Contributor
Sorry, wenn das hier so offensichtlich ist, aber so wirklich verstanden habe ich es noch nicht.
Nehmen wir an, Du hast einen Track (0,0,10,0). Fahrtrichtung des Zugs sei (1,0).

Die fiktive Position erhältst Du, in dem Du die Fahrtichtung zur aktuellen Position addierst.

Wenn der Zug sich an Position (5,0) befindet, ist die fiktive Position (6,0). Befand sich der Zug bei (0,0) ergibt sich die fiktive Position (1,0) und wenn sich der Zug bei (10,0) befand, hast Du eine fiktive Position von (11,0).

Nun befinden sich die fiktiven (6,0) und (1,0) auf dem Track (0,0,10,0).

Das gilt offensichtlich für die fiktive Position (11,0) nicht, d. h. die aktuelle Position muss ein Verbindungspunkt zwischen zwei Tracks sein, so dass Du per getConnection() den neuen Track ermitteln musst.

Dein Test im Code ist also falsch. Du musst einfach nur prüfen, ob der fiktive Punkt auf dem Track liegt, also irgendwas wie (ich habe den Code jetzt nicht 100 %-ig im Kopf)
Java:
if (!akt.canNavigateTo(train.getPosition().add(train.getDirection())) {

Oder vertue ich mich hier...?
Nein, das passt genau.
 

DagobertDuck

Bekanntes Mitglied
Besten Dank!

Das müsste doch dann so stimmen, oder?
Java:
        if (!akt.canNavigateTo(train.getPosition().add(train.getDirection()))) {
            Track neu = getConnection(train.getPosition(), akt).get();
            // Setze Richtungsvektor des Zugs in Abhängigkeit von neu
            train.setDirection(neu.getDirectionTo(...));
        }
        // Ändere Position des Zugs um den Richtungsvektor
        train.setPosition(train.getPosition().add(train.getDirection()));
Allerdings bin ich mir bei der Änderung des Richtungsvektors des Zuges in Abhängigkeit von neu nicht sicher. Was soll hier als Parameter angegeben werden..?
 

Mika34

Bekanntes Mitglied
Das gibt keinen Sinn. Nehmen wir an, der Zug fährt von Gleis 1 nach Gleis 2, dann hast Du zwei Listen {1}, {2}. Nun ist 1 nicht in {2} enthalten, d. h. der Zug muss von 1 herunter genommen werden. Umgekehrt ist 2 nicht in {1} enthalten, deswegen muss der Zug auf 2 aufgegleist werden.
Das ergibt Sinn. Wie lasse ich nun alle Züge gleichzeitig fahren. Geht das überhaupt oder müssen alle Züge nacheinander bewegt werden?
 

DagobertDuck

Bekanntes Mitglied
Java:
train.setDirection(neu.getPassedPoint(train.getDirection()));
So wird es dann wohl auch nicht stimmen, oder? Ich habe sonst keine Idee, wie ich das realisieren soll...
 

mihe7

Top Contributor
Ja, sag mal... wenn train.getPosition() mit switchedTo übereinstimmt, brauchst Du die Richtung switchedTo -> getStartPoint(), sonst umgekehrt. So eine Methode hatten wir schon mal, ggf. in die andere Richtung...
 

Mika34

Bekanntes Mitglied
Ich verstehe nicht wie man die einzelnen Richtungen switchedTo -> getStartPoint() als einen Vektor darstellen kann. Geht man da über eine Fallunterscheidung wie hier
Ich habe an den Vergleich von yCoordDirection und yCoordNewTrack gedacht und wenn yCoordNewTrack > yCoordDirection, dann ist newDir=(0,1) und umgekehrt (0,-1), aber das ist nicht universell einsetzbar...
 

DagobertDuck

Bekanntes Mitglied
Ja, sag mal... wenn train.getPosition() mit switchedTo übereinstimmt, brauchst Du die Richtung switchedTo -> getStartPoint(), sonst umgekehrt. So eine Methode hatten wir schon mal, ggf. in die andere Richtung...
Dann war mein erster Ansatz doch sogar schon fast richtig...?
Java:
train.setDirection(neu.getDrivingDirection(train.getPosition()));

Wobei getDrivingDirection() wie folgt aussieht:
Java:
    public Point getDrivingDirection(Point point) {
        Point direction = getStartPoint().vectorTo(switchedTo).toDirection();
        return point.equals(switchedTo) ? direction : direction.negate();
    }
Hier ist es wie du schon gesagt hast andersrum. Muss ich jetzt eine extra Methode dafür erstellen oder kann ich das ggf. irgendwie "austricksen"? Falls ich eine separate Methode dafür erstellen muss, was wäre ein passender Name..?
 
Zuletzt bearbeitet:

Mika34

Bekanntes Mitglied
Diesen Ansatz kann ich dann komplett in die Tonne hauen oder nicht? Denn sobald es ums Kurvenfahren geht, versagt diese Methode
Java:
    public CartesianPoint getDirectionVector(CartesianPoint startPoint,RawTrack startTrack, CartesianPoint<Integer> direction) throws NoObjectWithCharacteristicsException {
        CartesianPoint endOfStartTrack = startTrack.getNextPoint(direction);
        if(startPoint.equals(endOfStartTrack)) {
            int xDirectionV = direction.getXCoordinate();
            int yDirectionV = direction.getYCoordinate();
            int xStartPoint = startPoint.getXCoordinate();
            int yStartPoint = startPoint.getYCoordinate();
            CartesianPoint newPotantialPoint = new CartesianPoint(xDirectionV+xStartPoint,yDirectionV+yStartPoint);
            //Falls der Punkt außerhalb des Gleisnetzes liegt
            if(!startTrack.canNavigateTo(newPotantialPoint)) {
                if(getConnection(startPoint,startTrack) == null) {
                    throw new NoObjectWithCharacteristicsException("such a train can't be moved");
                }
                RawTrack followingTrack = getConnection(startPoint,startTrack);
                CartesianPoint endPointOfFollowingTrack = followingTrack.getSwitchIsSwitchedTowards();
                int xCoordFollTrack = endPointOfFollowingTrack.getXCoordinate();
                int yCoordFollTrack = endPointOfFollowingTrack.getYCoordinate();
                if(xCoordFollTrack == xStartPoint) {
                    if(yCoordFollTrack > yStartPoint) {
                        direction = new CartesianPoint(0,1);
                    }
                    else {
                        direction = new CartesianPoint(0,-1);
                    }
                }
                else {
                    if(xCoordFollTrack > xStartPoint) {
                        direction = new CartesianPoint(1,0);
                    }
                    else {
                        direction = new CartesianPoint(-1,0);
                    }
                }
            }
           
        }
        else {
            return null;
        }
        return direction;
       
    }
 
Zuletzt bearbeitet:

DagobertDuck

Bekanntes Mitglied
Ich habe deinen Pseudo Code aus #311 jetzt erfolgreich umgesetzt und es funktioniert tatsächlich auch soweit!
Jetzt habe ich Probleme mit der Benutzerausgabe:

"Train <trainID> at <headPoint> Zeilenweise Ausgabe von Zügen. Falls noch kein Zug auf der Strecke steht, wird OK ausgegeben. Im Fall eines Zusammenstoßes/Entgleisens wird Crash of train <trains> ausgegeben. Wobei <trains> eine Liste der Zug-IDs ist, die mit Kommata getrennt sind (aufsteigend sortiert). Falls es zu mehreren Zusammenstoßen/Entgleisen kommt, wird dies zeilenweise ausgegeben. Dabei ist zu beachten, dass die Züge sich nicht überschneiden dürfen, d.h. wenn Zug 1 einen Zusammenstoß mit Zug 3 hat und Zug 3 einen mit Zug 4 würde dies als ein Zusammenstoß gelten und die Ausgabe würde Crash of train 1,3,4 lauten. Falls es mehrere unabhängige Zusammenstöße gibt, wird die Ausgabe sortiert nach der kleinsten Zug-ID von jedem Zusammenstoß ausgeben."

Der Ausgabefall "OK" war kein Problem und "Train <trainID> at <headPoint> ebenfalls nicht. Im Falle eines Zusammenstoßes habe ich leider keine gescheite Idee, wie ich die Ausgabe realisieren soll (StringBuilder (?)).

Ist nur ein Zug auf den Schienen und entgleist, wäre es ja einfach
Java:
        if (!akt.canNavigateTo(train.getPosition().add(train.getDirection()))) {
            if (getConnection(train.getPosition(), akt).isPresent()) {
                Track neu = getConnection(train.getPosition(), akt).get();
                train.setDirection(neu.getDrivingDirection(train.getPosition()).negate());
            } else {
                Terminal.printLine("Crash of train " + train);
            }
        }

Es müssen, aber alle beteiligten Züge wie oben beschrieben mit Kommata getrennt ausgegeben werden. Wo und wie implementiere ich dies?

Eventuell hier..?
Java:
        if (rNeu != null) {
            for (int i = 0; i < rNeu.size(); i++) {
                Track track = rNeu.get(i);
                if (rAkt != null && !rAkt.contains(track)) {
                    if (track.getCurrentTrain() != null) {
                        throw new ...("there is already a train here");
                    }
                    track.setCurrentTrain(train);
                }
            }
        }
Hier darf eigentlich auch keine Exception geworfen werden, oder? So langsam verliere ich den Überblick.. Sind die != null Abfragen hier auch korrekt, oder sollte diese Prävention anders realisiert werden?
 

mihe7

Top Contributor
Diesen Ansatz kann ich dann komplett in die Tonne hauen oder nicht?
Du meinst den Teil
Java:
                CartesianPoint endPointOfFollowingTrack = followingTrack.getSwitchIsSwitchedTowards();
                int xCoordFollTrack = endPointOfFollowingTrack.getXCoordinate();
                int yCoordFollTrack = endPointOfFollowingTrack.getYCoordinate();
                if(xCoordFollTrack == xStartPoint) {
                    if(yCoordFollTrack > yStartPoint) {
                        direction = new CartesianPoint(0,1);
                    }
                    else {
                        direction = new CartesianPoint(0,-1);
                    }
                }
                else {
                    if(xCoordFollTrack > xStartPoint) {
                        direction = new CartesianPoint(1,0);
                    }
                    else {
                        direction = new CartesianPoint(-1,0);
                    }
                }
? Ja, der kann weg.
 

Mika34

Bekanntes Mitglied
Ich komme einfach nicht darauf die Methode gescheit zu implementieren. Das muss doch richtig sein, aber er wirft mir dennoch Exceptions, wenn ich auf einem Startpunkt bin und mich Richtung Endpunkt bewegen möchte
Java:
    public CartesianPoint getDrivingDirection(CartesianPoint point) {
        if(getStartPoint().equals(switchIsSwitchedTowards)) {
        CartesianPoint direction = getStartPoint().vectorTo(switchIsSwitchedTowards).toDirection();
    return point.equals(switchIsSwitchedTowards) ? direction : direction.negate();
        }
        else {
            CartesianPoint direction = getStartPoint().vectorTo(switchIsSwitchedTowards).toDirection();
            return !point.equals(switchIsSwitchedTowards) ? direction : direction.negate();
        }
    }
 

Mika34

Bekanntes Mitglied
Geht das schon eher in die richtige Richtung? Es klappt aber dennoch nicht...
Code:
    public CartesianPoint getDirectionVector(CartesianPoint startPoint,RawTrack startTrack, CartesianPoint<Integer> direction) throws NoObjectWithCharacteristicsException {
        CartesianPoint newDirection = null;
            int xDirectionV = direction.getXCoordinate();
            int yDirectionV = direction.getYCoordinate();
            int xStartPoint = startPoint.getXCoordinate();
            int yStartPoint = startPoint.getYCoordinate();
            CartesianPoint newPotentialPoint = new CartesianPoint(xDirectionV+xStartPoint,yDirectionV+yStartPoint);
            //Falls der Punkt außerhalb des Gleisnetzes liegt
            if(!startTrack.canNavigateTo(newPotentialPoint)) {
                if(getConnection(startPoint,startTrack) == null) {
                    throw new NoObjectWithCharacteristicsException("such a train can't be moved");
                }

                if(startPoint.equals(startTrack.getSwitchIsSwitchedTowards())) {
                        direction = startPoint.vectorTo(startTrack.getSwitchIsSwitchedTowards()).toDirection();
                        return !startPoint.equals(startTrack.getSwitchIsSwitchedTowards()) ? direction : direction.negate();
                    }
                else {
                    return startPoint.equals(startTrack.getSwitchIsSwitchedTowards()) ? direction : direction.negate();

                }
                
            }
            return null; 
    }
 
Zuletzt bearbeitet:

Mika34

Bekanntes Mitglied
Ich wollte es gerade coden, habe aber noch ein anderes Problem, was alles stört. Wenn ein Zug mit dem Kopf auf (8,1) steht und das Gleis von (5,1) nach (8,1) geht, dann soll der Zug nicht zu diesem Gleis gezählt werden. Jedoch lässt er den Zug zu dem Gleis zählen. Hast du da eine Idee?
Hast du das auch so falsch implementiert? Denn das ist fast sogar noch entscheidender
 

DagobertDuck

Bekanntes Mitglied
Beim step-Befehl? Oder schon beim put train Befehl? Ich wüsste nicht wie ich das jetzt testen sollte. Dafür muss ich erstmal die Benutzerausgabe fertig machen und hierzu muss ich leider noch auf die Hilfe von @mihe7 warten.
 

Mika34

Bekanntes Mitglied
Warum nicht?


Mit Erweiterungen, ja. Letztlich musst Du nur die Kopfbewegung anpassen.
So ist die Aufgabe gestellt... Das ist hier der Knackpunkt und auf diese Weise crashen die Züge dann schon früher als sie eigentlich sollten.
Weißt du wie sich dies beheben lässt?
Wenn man in positive x-Richtung fährt, dann passt alles, aber sobald man in negative x-Richtung fährt, klappt es nicht mehr
 

mihe7

Top Contributor
Falls es zu mehreren Zusammenstoßen/Entgleisen kommt, wird dies zeilenweise ausgegeben. Dabei ist zu beachten, dass die Züge sich nicht überschneiden dürfen, d.h. wenn Zug 1 einen Zusammenstoß mit Zug 3 hat und Zug 3 einen mit Zug 4 würde dies als ein Zusammenstoß gelten und die Ausgabe würde Crash of train 1,3,4 lauten. Falls es mehrere unabhängige Zusammenstöße gibt, wird die Ausgabe sortiert nach der kleinsten Zug-ID von jedem Zusammenstoß ausgeben."
Ok, das ändert einiges, da man die Züge bei einer Kollision nicht sofort vom Gleis entfernen darf.

Wie ist das beim Entgleisen? Kann ein Zug mit einem entgleisenden Zug kollidieren?
 

mihe7

Top Contributor
So ist die Aufgabe gestellt... Das ist hier der Knackpunkt und auf diese Weise crashen die Züge dann schon früher als sie eigentlich sollten.
Weißt du wie sich dies beheben lässt?
Wenn man in positive x-Richtung fährt, dann passt alles, aber sobald man in negative x-Richtung fährt, klappt es nicht mehr
Gut, dass wir am Ende schon darüber gesprochen haben...

Im Wesentlichen dürfte das canNavigateTo betreffen.
 

Mika34

Bekanntes Mitglied
Wenn der Zug nun in negative x-Richtung fährt und der Kopf vom Zug auf (8,1) liegt, dann gehört der Zug noch nicht zum Gleis (5|1) -> (8|1), sondern nur zu den Gleisen (8|1)->(10|1) und (10|1)-> (10|-3)
Code:
(5|1)-----(8|1)---(10|1)
                     |
                     |
                     |
                   (10|-3)
 

Mika34

Bekanntes Mitglied
Im Wesentlichen dürfte das canNavigateTo betreffen.
@mihe7 Inwiefern? Die Methode gibt doch nur zurück, ob man dorthin fahren kann oder nicht. Ich dachte an findTracks(), da die Methode zu einem gegebenem Punkt das Gleis raussucht... Dennoch hat die Modifikation von Beidem nichts bewirkt.
Wie müssen diese Methoden dafür angepasst werden?
 

DagobertDuck

Bekanntes Mitglied
Wenn der Zug nun in negative x-Richtung fährt und der Kopf vom Zug auf (8,1) liegt, dann gehört der Zug noch nicht zum Gleis (5|1) -> (8|1), sondern nur zu den Gleisen (8|1)->(10|1) und (10|1)-> (10|-3)
Code:
(5|1)-----(8|1)---(10|1)
                     |
                     |
                     |
                   (10|-3)
Bist du dir da 100% sicher bei? Ich habe das Gefühl, dass die Interpretation der Aufgabenstellung nicht immer so leicht ist ^^.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Methoden methoden an generischen klassentyp anpassen Allgemeine Java-Themen 5
B Leere vererbte Interface-Methoden Allgemeine Java-Themen 8
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
Encera Unterschied zweier "toString"-Methoden Allgemeine Java-Themen 1
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
B Arrays von Methoden möglich? Allgemeine Java-Themen 44
S Mit Methoden kann man definieren für was <T> steht. Geht das auch irgendwie für Variablen? Allgemeine Java-Themen 12
N abstracte klassen methoden Allgemeine Java-Themen 32
G Methoden für die Zukunft sinnvoll? Allgemeine Java-Themen 4
nonickatall Methoden Kann man Klassen/Methoden aus Variablen heraus aufrufen? Allgemeine Java-Themen 6
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
B Methoden Java Getter und Setter Methoden Allgemeine Java-Themen 9
Y Java Methoden unterschiedliche Zahlenreihen Allgemeine Java-Themen 2
S Interface Design von HookUp oder Callback Methoden für eigenes Framework Allgemeine Java-Themen 9
F Sich automatisch aufrufende Java-Methoden Allgemeine Java-Themen 2
J Namen von Methoden über Reguläre Ausdrücke bearbeiten Allgemeine Java-Themen 6
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
R Statistische Methoden (Mathematik) Aufgabe Allgemeine Java-Themen 9
X Brüche kürzen mittels Methoden und ggT Allgemeine Java-Themen 15
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
L mehrere Methoden Allgemeine Java-Themen 19
KeexZDeveoper Zugriff auf Methoden vom Server Allgemeine Java-Themen 7
B StAX Parser - mehrere Methoden, ein XML Allgemeine Java-Themen 4
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
A Automatisches Methoden Laufzeiten logging? Allgemeine Java-Themen 7
M Quellcode von Java-Methoden Allgemeine Java-Themen 9
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
N HashMap und Methoden richtig einbinden Allgemeine Java-Themen 2
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
Q-bert Methoden Methoden in Java Allgemeine Java-Themen 13
D Methoden Java-Aufgabe Allgemeine Java-Themen 2
M Compiler-Fehler Methoden-Referenz Allgemeine Java-Themen 5
X Threads Externe Variablen in Run Methoden verändern Allgemeine Java-Themen 4
S 2 methoden mit gleichen namen und ein Interface Allgemeine Java-Themen 9
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12
E OOP Objekte und Methoden Allgemeine Java-Themen 1
K Java ruft Methoden nicht der Reihe nach auf Allgemeine Java-Themen 14
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
T Java Array in Methoden Allgemeine Java-Themen 1
D Code für bereitgestellte Methoden Allgemeine Java-Themen 1
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
R Signatur von Methoden in eine Datei schreiben? Allgemeine Java-Themen 4
A Methoden verändern Allgemeine Java-Themen 12
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
J Best Practice Testen von protected Methoden Allgemeine Java-Themen 7
L Methoden "Schiffe versenken" Quellcode in Methoden umwandeln Allgemeine Java-Themen 6
G Matrix reduzieren zwei Methoden Allgemeine Java-Themen 2
Sogomn Best Practice "Doppelte" Methoden Allgemeine Java-Themen 3
Paul15 String Methoden Allgemeine Java-Themen 7
G Methoden BMI -Wert Aufgabe(Methoden) Allgemeine Java-Themen 4
F Testen von Methoden Allgemeine Java-Themen 3
S "Vererben" statischer Felder/Methoden Allgemeine Java-Themen 4
F Methoden in der Enumeration Klasse Allgemeine Java-Themen 1
S Methoden ohne Methodenkopf ?! Allgemeine Java-Themen 5
T Überschreiben von Methoden Allgemeine Java-Themen 6
M Methoden werden in falscher Reihenfolge bearbeitet Allgemeine Java-Themen 10
S Methoden Methoden überschreiben Allgemeine Java-Themen 3
N Threads statische Methoden in Threads Allgemeine Java-Themen 5
O Java-Obfuscator, welcher einzelne Methoden, Klassen und Ordnerstrukturen ausnehmen kann. Allgemeine Java-Themen 1
A also definition von klassen und string methoden und algorithmik Allgemeine Java-Themen 13
X Eigene Annotation - mit Bedingung für ganze Klassen oder Methoden Allgemeine Java-Themen 2
A Threads Lock über mehrere Abschnitte in verschiedenen Methoden Allgemeine Java-Themen 5
S Methoden Frage Allgemeine Java-Themen 2
R Wie kann man diese Methoden in arrays etablieren? Allgemeine Java-Themen 8
M Methoden in Rescources speichern Allgemeine Java-Themen 4
G Synchronisation nicht statischer Methoden Allgemeine Java-Themen 4
A Vererbung finale Methoden überschreiben Allgemeine Java-Themen 24
A Methoden parallelisieren? Allgemeine Java-Themen 2
C Methoden Übernahme von standart nativen Methoden? Allgemeine Java-Themen 9
B Zusammenfassen verschiedener ähnlicher Methoden Allgemeine Java-Themen 8
K JNI: Methoden aus unterschiedlichen Threads aufrufen Allgemeine Java-Themen 3
P Unterschiedliche Clone- Methoden Allgemeine Java-Themen 5
MQue Spezialfrage Überschreiben von Methoden Allgemeine Java-Themen 14
B Methoden Alle Methoden und Variablen aus Java-Dateien auslesen. Allgemeine Java-Themen 7
MiMa Rekursive Methoden Allgemeine Java-Themen 3
S Programm das alle aufgerufenen Methoden ausgibt..? Allgemeine Java-Themen 6
F ListIterator (next & previous methoden) Allgemeine Java-Themen 5
W Frage zu Refactoring statischer Methoden Allgemeine Java-Themen 4
M Methoden/Klassen für andere Projekte Allgemeine Java-Themen 4
T Methoden per String-Namen aufrufen Allgemeine Java-Themen 2
C Kapselung Warum graift man auf Variablen nur über Methoden und nich direkt zu? Allgemeine Java-Themen 10
M Methoden Static Methoden und Thread??? Allgemeine Java-Themen 4
A Methoden ohne Referenzen finden Allgemeine Java-Themen 9
turmaline OOP zwei gleiche Methoden mit kleinen Unterschieden Allgemeine Java-Themen 15
G JUnit Test Methoden in anderen Thread verlagern Allgemeine Java-Themen 4
K Auf Methoden der Runnable Klasse zugreifen Allgemeine Java-Themen 2
S Methoden Class.forName() >> Methoden - Reihenfolge Allgemeine Java-Themen 5
D Passende Name für Methoden finden Allgemeine Java-Themen 3
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
A Methoden laufen im Konstruktor, außerhalb allerdings nicht Allgemeine Java-Themen 2
M Generische Methoden mit Java und globale Variablen Allgemeine Java-Themen 9
GianaSisters ArrayList in Methoden übergeben Allgemeine Java-Themen 3
S static methoden Allgemeine Java-Themen 9
J coole Methoden Allgemeine Java-Themen 6
R Methoden in einem Thread unterschiedlich oft ausführen Allgemeine Java-Themen 4
A OOP: Überschreiben/Implementierung von Methoden Allgemeine Java-Themen 5
P Methoden und Werte Allgemeine Java-Themen 17
E Performace/Ausführungszeit von Methoden ermitteln Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben