Zurückspringen in Java?

Status
Nicht offen für weitere Antworten.

Das Vi

Mitglied
Zugegeben der Titel ist nicht perfekt formuliert, aber mir fällt nichts ein, wie ich es besser zusammenfassen könnte ^^
Meine Frage:

gibt es eine Möglichkeit, wenn eine bestimmte Bedingung erfüllt ist, das Programm dazu zu bringen, dass es zu einem bestimmten Punkt zurückspring und von da an weitermacht?

Konkret ist das bei mir so:

Java:
public static void main(String[] args) {        
        for (int i = 0; i < nummern.length; i++)
        {
            nummern[i] = String.format("%0" + stellen + "d", i);            
        }
        
        String kunde = null;
        int anzahl = 0;
        ReservationSystem r = new ReservationSystem(kunde, anzahl);

        while (true) {
            String cmd = null;
            while (cmd == null) {
                System.out.println("Bitte Befehl eingeben: ");
                System.out.println("1. dump");
                System.out.println("2. reserve");
                try {
                    cmd = getNextLine();
                } catch (IOException e) {
                    // ignore
                }
                if (!"dump".equals(cmd.trim().toLowerCase()) &&
                        !"reserve".equals(cmd.trim().toLowerCase())) {
                    System.out.println("Befehl ungültig!");
                }
            }
            
            
            if ("dump".equals(cmd.trim().toLowerCase())) {
                r.dump();
            }
            else if ("reserve".equals(cmd.trim().toLowerCase())) {
                System.out.print("Bitte Namen eingeben: ");
                try {
                    kunde = getNextLine();
                    r.setKunde(kunde);
                } catch (IOException e) {
                    break;
                }
                System.out.print("Wieviele Nummern möchten Sie reservieren? ");
                    try {
                        anzahl = Integer.parseInt(getNextLine());    
                    } catch (IOException e) {
                        break;
                    }
                    r.setAnzahl(anzahl);
                    r.reserve();
                    
                    System.out.println("Mehr ?");
                    String ans;
                    try {
                        ans = getNextLine();
                    } catch (IOException e) {
                        break;
                    }
                    

                    if ("yes".equals(ans.trim().toLowerCase()) || 
                        "ja".equals(ans.trim().toLowerCase()) ||
                        "y".equals(ans.trim().toLowerCase())) {
                        System.out.println("Ok. Lets fetz.");
                        
                    }
                    else if ("no".equals(ans.trim().toLowerCase()) ||
                            "nein".equals(ans.trim().toLowerCase()) ||
                            "n".equals(ans.trim().toLowerCase()))
                    {
                        System.out.println("Vielen Dank für Ihre Bestellungen!");                
                        break;
                    }
            }
            

            
        }    
    }

Ist jetzt nur die main methode, aber mehr zählt momentan auch nicht.

ich möchte erreichen, dass das Programm bei der "mehr"-abfrage, je nachdem ob man ja oder nein eingibt, zu dem Punkt zurückspringt, wo man Namen und gewünschte Anzahl eingeben soll.
Gibt es da eine (möglichst unkomplizierte) Möglichkeit?
Danke im Vorraus!
 
Zuletzt bearbeitet von einem Moderator:

The_S

Top Contributor
Sowas nennt man goto und ist so ziemlich das schlimmste, was du machen kannst (und gibt es in Java nicht, ausgenommen der Sprung-Labels in Schleifen). Überleg dir lieber eine richtige Struktur in Kombination aus Klassen, Methoden, Schleifen und Abfragen.
 

hdi

Top Contributor
Für sowas nimmt man eine do-while-Schleife:


Java:
boolean mehr;
do{
    // mindestens einmal
    // blablalba
    mehr = userWantsMore();
}
while(mehr); // solange mehr == true, wird zu do zurückgesprungen

Ansonsten gibt es auch noch Sprungmarken, aber da sollte man die Finger von lassen.
 

icarus2

Top Contributor
Das "Zurükspringen" nennt man Back-Tracking.

So wie ich das gesehen habe, liest du die Zeilen in einer while-schleife ein. Mit dem Schlüsselwort continue, wird die Schleife abgebrochen und wieder von vorne angefangen. Es ist ähnlich wie break, nur dass bei continue die Schleife einfach wieder von vorne anfängt.

Code:
while(true) {
....
....

if(//Wenn etwas neues eingelesen werden soll) {
continue; //Das Programm springt an den Anfang der while-Schleife
}
else {
break; //Die Schleife wird abgebrochen
}

PS: Es gibt irgend eine Art etwas mit go to Line oder sowas. Aber so wie ich gehört habe nutzt man dies heute nicht mehr.

Hoffe das oben hilft dir weiter.

*Edit:

@hdi: Würde meins auch funktionieren?
 

Das Vi

Mitglied
Mit anderen Worten, ich soll alles übern Haufen werfen und neu machen?
Prinzipiell hätte ich damit kein Problem, allerdings habe ich, wie du ja weißt, nicht mehr sonderlich viel zeit...Könnte man das irgendwie geschickt mit ner boolean machen, die bei ja erfüllt wird und der andere Kram mit ner while - schleife eingeklammert wird und nur läuft, wenn die boolean true ist? (ich hab das schon probiert, aber es hat nicht hingehaun).
 
M

maki

Gast
Es sollte reichen wenn das Programm zumindest einigermassen strukturiert ist, muss nichtmal richtiges OO sein, sauberes Prozedurales Design reicht dafür schon, aber wenn alles in einer Methode (main) steht, wird das nix ausser sehr unübersichtlich.

Alles über den Haufen werfen?
Naja, muss nicht sein, einfach Methoden extraheiren reicht für den Anfang und kann viel helfen.
 

Das Vi

Mitglied
Ok habe es jetzt extrahiert

Code:
public void haupt() {
        String kunde = null;
        int anzahl = 0;


        while (true) {
            String cmd = null;
            while (cmd == null) {
                System.out.println("Bitte Befehl eingeben: ");
                System.out.println("1. dump");
                System.out.println("2. reserve");
                try {
                    cmd = getNextLine();
                } catch (IOException e) {
                    // ignore
                }
                if (!"dump".equals(cmd.trim().toLowerCase()) &&
                        !"reserve".equals(cmd.trim().toLowerCase())) {
                    System.out.println("Befehl ungültig!");
                }
            }
            
            
            if ("dump".equals(cmd.trim().toLowerCase())) {
                dump();
            }
            else if ("reserve".equals(cmd.trim().toLowerCase())) {
                System.out.print("Bitte Namen eingeben: ");
                try {
                    kunde = getNextLine();
                    setKunde(kunde);
                } catch (IOException e) {
                    break;
                }
                System.out.print("Wieviele Nummern möchten Sie reservieren? ");
                    try {
                        anzahl = Integer.parseInt(getNextLine());    
                    } catch (IOException e) {
                        break;
                    }
                    setAnzahl(anzahl);
                    reserve();
                    
                    System.out.println("Mehr ?");
                    String ans;
                    try {
                        ans = getNextLine();
                    } catch (IOException e) {
                        break;
                    }
                    

                    if ("yes".equals(ans.trim().toLowerCase()) || 
                        "ja".equals(ans.trim().toLowerCase()) ||
                        "y".equals(ans.trim().toLowerCase())) {
                        System.out.println("Ok. Lets fetz.");
                        
                    }
                    else if ("no".equals(ans.trim().toLowerCase()) ||
                            "nein".equals(ans.trim().toLowerCase()) ||
                            "n".equals(ans.trim().toLowerCase()))
                    {
                        System.out.println("Vielen Dank für Ihre Bestellungen!");                
                        break;
                    }
            }
            

            
        }    
    }
    
    public static void main(String[] args) {
        ReservationSystem r = new ReservationSystem(kunde, anzahl);
        for (int i = 0; i < nummern.length; i++)
        {
            nummern[i] = String.format("%0" + stellen + "d", i);            
        }
        r.haupt();    
    }
ist das so besser? ^^

EDIT SAGT: Problem gelöst, ich habs geändert und die mehr - abfrage hat jetzt einen anderen zweck^^


EDIT SAGT NOCH VIEL MEHR:
neues Problem...
scheinbar ist irgendwo in der reserve-methode was nicht i.o. jedenfalls prüft die scheinbar nicht, ob die nummer an der stelle i schon reserviert ist. ich find leider nicht raus, woran das liegt...
reserve sieht so aus:
Code:
void reserve() {
        if ( anzahl > (nummern.length/10))
        {
            JOptionPane.showMessageDialog(null, "So viele Nummern stehen nicht zur Verfügung.");
        }
        else
        {
        while ( frei < anzahl )
        { 
        if ( anzahl < 10 )
        {
            for ( int i = 0; i < nummern.length; i++)
            {
                if ( reserviert[i] == true )
                {
                    frei = 0;
                    start = i + 1;
                }
                else
                {
                    frei++;
                }
                
            }
        }
        else
            if ( anzahl >= 10 )
            {
                for ( int i = 0; i < nummern.length; i += 10 )
                {
                    if ( reserviert[i] == true )
                    {
                        frei = 0;
                        i++;
                        start = i + 10;
                    }
                    else
                    {
                        frei++;
                    }
                }
            }
        }

        {
            if ( anzahl < 10 )
            {
                for ( int i = start; i < anzahl; i++)
                {
                    reserviert[i] = true;
                    kunden[i] = kunde;
                }
            }
            else
            {
                for ( int i = start; i < anzahl*10; i += 10 )
                {
                    reserviert[i] = true;
                    kunden[i] = kunde;
                }
            }
                
        }
    }
    }
 
Zuletzt bearbeitet:

hdi

Top Contributor
Code:
 while (true) {
            String cmd = null;
            while (cmd == null) {
                System.out.println("Bitte Befehl eingeben: ");
                System.out.println("1. dump");
                System.out.println("2. reserve");
                try {
                    cmd = getNextLine();
                } catch (IOException e) {
                    // ignore
                }
                if (!"dump".equals(cmd.trim().toLowerCase()) &&
                        !"reserve".equals(cmd.trim().toLowerCase())) {
                    System.out.println("Befehl ungültig!");
                    [B][COLOR="Magenta"]cmd = null;[/COLOR][/B]
                }
            }
            
            
            if ("dump".equals(cmd.trim().toLowerCase())) {
                dump();
            }
            else if ("reserve".equals(cmd.trim().toLowerCase())) {

[COLOR="Magenta"][B]            boolean more;
            do{[/B][/COLOR]

                System.out.print("Bitte Namen eingeben: ");
                try {
                    kunde = getNextLine();
                    setKunde(kunde);
                } catch (IOException e) {
                    break;
                }
                System.out.print("Wieviele Nummern möchten Sie reservieren? ");
                    try {
                        anzahl = Integer.parseInt(getNextLine());    
                    } catch (IOException e) {
                        break;
                    }
                    setAnzahl(anzahl);
                    reserve();
                    
                    System.out.println("Mehr ?");
                    String ans;
                    try {
                        ans = getNextLine();
                    } catch (IOException e) {
                        break;
                    }
                    

                    if ("yes".equals(ans.trim().toLowerCase()) || 
                        "ja".equals(ans.trim().toLowerCase()) ||
                        "y".equals(ans.trim().toLowerCase())) {
                        System.out.println("Ok. Lets fetz.");
                        [B][COLOR="Magenta"]more = true;[/COLOR][/B]
                        
                    }
                    else if ("no".equals(ans.trim().toLowerCase()) ||
                            "nein".equals(ans.trim().toLowerCase()) ||
                            "n".equals(ans.trim().toLowerCase()))
                    {
                        System.out.println("Vielen Dank für Ihre Bestellungen!");                
                       [B][COLOR="Magenta"] more = false;[/COLOR][/B]
                    }
            [B][COLOR="Magenta"]}[/COLOR][/B]
           [B][COLOR="Magenta"]while(more);[/COLOR][/B]
}

Kann sein dass du da noch bisschen aufräumen musst, ich bin mit der Foramtierung und den Klammern etwas durcheinander gekommen. Aber ich denke dir ist jetzt klar was ich meine oder?
 
M

maki

Gast
ist das so besser
Ein bisschen.

Kann dir nicht viel helfen, denn bei den ganzen Schleifen und if/else-Blöcken blicke ich nicht mehr durch, glaube das haben wir gemeinsam ;)

Würde dir empfehlen das Ding weiter aufzubrechen in noch mehr Methoden, wichtig wären vor allem sprechende Namen für die Methoden, so dass man den Code nicht im Detail studieren muss um zu erfahren was ungefähr passiert.
 

hdi

Top Contributor
Da deine Variablen alle global in der Klasse definiert sind kann mit der reserve() Methode kein Mensch was anfangen. Wir können ja nicht raten welche Werte die Variablen haben. Aber hier wäre ein guter Punkt etwas mehr OO reinzubringen. Die Methode zieht sich aus allen Ecken des Codes irgendwelche Variablen, und es nicht einsehbar welchen Wert sie haben, weil du nicht sagen kannst wie oft die schon manipuliert worden sind.
 

Das Vi

Mitglied
Ok ich hab nicht dran gedacht...

Nochmal genaue Problembeschreibung:
Reserve an sich funktioniert, blos werden für mehrere Personen Nummern reserviert, achtet er nicht auf die bereits reservierten Nummern, sondern reserviert sie einfach neu auf den anderen Namen.

Variablen (Mit Kommentaren, was sie machen) hier:

Code:
static int stellen = 2; // Legt fest, wieviele Stellen die Nummern haben sollen
    static String[] nummern = new String[(new Double(Math.pow(10, stellen))).intValue()];
    boolean[] reserviert = new boolean[nummern.length];
    String[] kunden = new String[nummern.length];
    static String kunde; // Name des Kunden
    static int anzahl; // Legt fest, wieviele Nummern der Kunde reservieren möchte
    int frei = 0; // Solange dieser Wert kleiner als anzahl ist, wird nicht reserviert (um sicherzustellen, dass genug zusammenhängende Nummern frei sind)
    int start = 0; // Legt den Punkt fest, ab dem die Nummern reserviert werden
    static boolean running = true;
    static BufferedReader buffy = new BufferedReader(new InputStreamReader(System.in));
reserve-methode mit Kommentaren hier:
Code:
    void reserve() {
        if ( anzahl > (nummern.length/10)) // Prüft, ob die gewünschte Anzahl nicht zu groß ist
        {
            JOptionPane.showMessageDialog(null, "So viele Nummern stehen nicht zur Verfügung.");
        }
        else
        {
        while ( frei < anzahl )  
        { 
        if ( anzahl < 10 ) // Wenn anzahl < 10 soll immer die letzte Stelle der Nummer fortlaufend sein
        {
            for ( int i = 0; i < nummern.length; i++)
            {
                if ( reserviert[i] == true ) // Wenn die Nummer reserviert ist, muss von min. i+1 angefangen werden
                {
                    frei = 0;
                    start = i + 1;
                }
                else
                {
                    frei++;
                }
                
            }
        }
        else
            if ( anzahl >= 10 ) // Wenn anzahl >= 10 soll immer die vorletzte Stelle der Nummer fortlaufend sein
            {
                for ( int i = 0; i < nummern.length; i += 10 )
                {
                    if ( reserviert[i] == true ) // S.o.
                    {
                        frei = 0;
                        i++;
                        start = i + 10;
                    }
                    else
                    {
                        frei++;
                    }
                }
            }
        }

        {
            if ( anzahl < 10 ) // Startet, wenn frei = anzahl 
            {
                for ( int i = start; i < anzahl; i++) // S.o.
                {
                    reserviert[i] = true; // Nummer wird reserviert
                    kunden[i] = kunde; // Dazugehöriger Kunde wird eingetragen
                }
            }
            else
            {
                for ( int i = start; i < anzahl*10; i += 10 ) // S.o.
                {
                    reserviert[i] = true;
                    kunden[i] = kunde;
                }
            }
                
        }
    }
    }

Erschliesst es sich euch jetzt ?^^
(ich will übrigens nicht meine herangehensweise ändern, ich will einfach nur, dass es das tut, was ich will, also bitte nicht sagen, ich soll mehr OO reinbringen oder so, das hilft mir wirklich nicht weiter. In diesem Fall muss ich nur wissen, was mit meiner reserve-methode nicht stimmt, warum die Prüfung nicht funktioniert)
 

hdi

Top Contributor
ich will übrigens nicht meine herangehensweise ändern, ich will einfach nur, dass es das tut, was ich will

Das ist ein Widerspruch.
So wie du es jetzt gecodest hast macht das ganze keinen Sinn. Was ist denn, wenn zwei Kunden etwas reservieren? Kannst du mir danach sagen, welcher Kunde was reserviert hat? Ne, denn du hast nur ein reserved-array. Du kannst mir nicht mal sagen, was der letzte Kunde reserviert hat.
Also das tun, "was du willst", wird dieses Programm niemals solange du nicht mit OO anfängst. (Es sei denn du fängst an es noch grottiger zu machen und 324 globale Variablen anzulegen) Du brauchst nun mal mehrere Instanzen für Reservierungen auf mehreren Kunden. Das ganze kann man so einfach in die Tonne treten.

Fang an, das objektorientert anzugehen (oder lass es gleich). Du brauchst eine Klasse Kunden, die sich eine Liste reservierter Artikel speichert, sowie eine globale Klasse, die alle Kunden hält und Reservierungen managen kann.
 
Zuletzt bearbeitet:

Das Vi

Mitglied
Was ist denn, wenn zwei Kunden etwas reservieren? Kannst du mir danach sagen, welcher Kunde was reserviert hat? Ne, denn du hast nur ein reserved-array.
Doch kann ich ^^ dafür ist das Kunden array, welches genauso groß ist wie das nummern array, bei dump wird dann das nummern array, das reserved array und das kundenarray ausgegeben (nebeneinander) sodass man weiß, welche nummer von welchem kunden reserviert wurde.

Du kannst mir nicht mal sagen, was der letzte Kunde reserviert hat.
Das tut auch nicht not ^^

Der Grund, warum ich meine Herangehensweise nicht ändern will/kann, ist, dass ich einfach nicht genug Zeit zur Verfügung habe, um nochmal von vorne zu beginnen. Das mit der Kundenklasse und so kann ich ja immer noch machen, wenn das Programm erstmal grob läuft. Das wäre ja nur eine nette Erweiterung, aber ist nicht zwingend nötig, doch bevor ich nicht das, was zwingend nötig ist, zum Laufen kriege, kann ich mich nicht um die weniger wichtigen Sachen kümmern.
 

hdi

Top Contributor
...aber der Punkt ist, dass es viel leichter und schneller geht das OO zu lösen, als jetzt irgendwie versuchen zu wollen dass ganze in diesem Stil mit Ach und Krach geradezubiegen.

Wieviel Zeit hast du denn noch? 12 Minuten? 3 Stunden? 1 Tag? Ist das Programm eigentlich so schon "fertig", oder kommen da noch weitere Features hinzu?
 

The_S

Top Contributor
...aber der Punkt ist, dass es viel leichter und schneller geht das OO zu lösen, als jetzt irgendwie versuchen zu wollen dass ganze in diesem Stil mit Ach und Krach geradezubiegen.

Glaub ich nicht, wenn man gerade erst 4 Tage (Java) programmiert. OO-Denken ist imho ein langwieriger Prozess, der sich beim Programmieren nach und nach "entwickelt". Das kann man nicht einfach von jetzt auf gleich erlernen und/oder anwenden. Gut Code will weile haben ;) .

Und so viel ist es ja jetzt auch nicht mehr. Es sei denn da kommen noch mehr Features hinzu!?
 

Das Vi

Mitglied
Das Programm ist im Grunde genommen fast fertig.
Was gefordert war:

Eine dump methode, die ausgibt, welche Nummern von welchem Kunden reserviert sind

Eine reserve methode über die man für einen Kunden x Nummern reservieren kann

Eine unreserve methode über die man reservierte Nummern wieder freigeben kann

Was bisher funktioniert:

dump methode

reserve insoweit, dass man schonmal reservieren kann - die methode ist strohdoof, sie schaut nicht, dass kein großer zusammenhängender nummernblock zerrissen wird, sondern vergibt die nummern einfach nach dem schema 0000-0001-0002 bzw. 0010-0020-0030 (letzteres bei mehr als 9 nummern die auf einmal bestellt werden)
bei der reserve methode ist momentan das problem, dass einfach die prüfung scheinbar nicht funktioniert, ich weiß nur nicht, woran es liegt

unreserve methode kommt noch, die ist ja auch nicht so schwer zu implementieren.

Zeit habe ich noch bis Freitag, bloß ich hab am Samstag angefangen, mich mit Java zu beschäftigen (warum ich das erst so spät gemacht hab tut ja nichts zur sache) und bis ich mich jetzt noch mit OO und sonstwas auseinandergesetzt habe und das neu aufgesetzt habe ist Freitag schon längst vergangen ^^

Das, was ich jetzt zustande brachte habe ich übrigens teilweise zusammen mit den Mitarbeitern hier erarbeitet und die haben auch nicht rumgenörgelt, dass das zu Wirr ist - Es zählt schließlich nur, dass es irgendwie funktioniert und nicht, dass es schön aussieht.

EDIT SAGT: Danke The_S

EDIT 2 SAGT: @The_S ich hab vor vier Tagen mit Java angefangen, nicht mit dem Programmieren an sich ;) In Pascal hätte ich das geforderte Programm vermutlich innerhalb von 3 Stunden Problemlos aufsetzen können, bloß Java ist ziemlich anders als Pascal (wie ich finde) :)
 
Zuletzt bearbeitet:

The_S

Top Contributor
Das, was ich jetzt zustande brachte habe ich übrigens teilweise zusammen mit den Mitarbeitern hier erarbeitet

Äh, Einspruch. Hier gibt es keine "Mitarbeiter". Jeder der dir hilft, tut das völlig freiwillig, unendgeltlich und in seiner Freizeit (bzw. hofft, dass der AG ihn nicht erwischt ;) ).

und die haben auch nicht rumgenörgelt, dass das zu Wirr ist

Ehrlich gesagt, habe ich mir deinen Code noch nie richtig angeguckt (evtl. mal überflogen), sondern dir nur allgemeine Tipps gegeben. Um da noch mal richtig durchzusteigen braucht es wirklich Zeit (die ich mometan nicht habe, was aber nötige wäre, um dir weiter zu helfen), eben weil das schon ein wenig wirr ist.

Es zählt schließlich nur, dass es irgendwie funktioniert und nicht, dass es schön aussieht.

Für wen programmierst du das? Wenn du das beruflich machst, dann zählt keineswegs nur die "Funktion". Sollte das nur ein Schulprojekt sein und du willst Java danach nie wieder anrühren, OK. Aber wenn du halbwegs ernsthaft programmieren willst, zählt die Struktur sehr wohl. Alle Gründe aufzuzählen wäre jetzt zu viel, aber ich schmeiß mal ein paar Stichworte in den Raum: Fehleranfälligkeit, Wartbarkeit, Verständlichkeit.

EDIT SAGT: Danke The_S

Bitte, mein Einstieg in die Progarmmierung (Java war meine erste Sprache) war auch recht chaotisch ;) . Von daher weiß ich, wovon ich rede (zumindest in diesem Fall mal ausnahmsweise).

EDIT 2 SAGT: @The_S ich hab vor vier Tagen mit Java angefangen, nicht mit dem Programmieren an sich ;) In Pascal hätte ich das geforderte Programm vermutlich innerhalb von 3 Stunden Problemlos aufsetzen können, bloß Java ist ziemlich anders als Pascal (wie ich finde) :)

Hab jetzt noch nix in Pascal gemacht, aber wenn einmal der Groschen beim Programmieren gefallen ist, sollte es an der Logik nicht mehr scheitern. Andere Sprachen haben lediglich eine andere Syntax. Und wenn du nicht gerade ein neues Konzept mit lernst (z. B. OOP, die du hier aber ohnehin unter den Tisch kehrst), sollte ein Umstieg bzw. eine Eingewöhnung bei einem solch einfachen Programm nicht so übermäßig anspruchsvoll sein.

In Pascal hätte ich das geforderte Programm vermutlich innerhalb von 3 Stunden Problemlos aufsetzen können

Ich werfe jetzt einfach mal in den Raum, dass jeder, der dir bis jetzt hier geholfen hat, die gewünschten Funktionalitäten sauber strukturiert und mit OOP in max 30 Minuten programmieren kann ;) .
 
Zuletzt bearbeitet:

Das Vi

Mitglied
Äh, Einspruch. Hier gibt es keine "Mitarbeiter". Jeder der dir hilft, tut das völlig freiwillig, unendgeltlich und in seiner Freizeit (bzw. hofft, dass der AG ihn nicht erwischt ;-) ).
Mit Mitarbeitern meinte ich die Leute hier in der Firma an meinem Schreibtisch xD

Für wen programmierst du das? Wenn du das beruflich machst, dann zählt keineswegs nur die "Funktion". Sollte das nur ein Schulprojekt sein und du willst Java danach nie wieder anrühren, OK. Aber wenn du halbwegs ernsthaft programmieren willst, zählt die Struktur sehr wohl. Alle Gründe aufzuzählen wäre jetzt zu viel, aber ich schmeiß mal ein paar Stichworte in den Raum: Fehleranfälligkeit, Wartbarkeit, Verständlichkeit.
Das Programm ist für ein Praktikum weil ich hier meine Ausbildung zum Fachinformatiker im Bereich Anwendungsentwicklung machen will.
Um es richtig zu lernen mach ich ja dann die Ausbildung ^^
Ich werfe jetzt einfach mal in den Raum, dass jeder, der dir bis jetzt hier geholfen hat, die gewünschten Funktionalitäten sauber strukturiert und mit OOP in max 30 Minuten programmieren kann ;-) .
Ja kann gut sein, ich bin ja auch noch Schüler und hab meine Programmierkenntnisse entweder aus dem (nicht allzu guten) Informatik Unterricht oder aus Büchern

:)
 

The_S

Top Contributor
Aso, dann hatte ich das falsch verstanden.

Mein Tipp: Programmiers doch mal in Pacal. Evtl. tust du dir dann leichter, die Funktionen nur in Java nachzubilden.
 

Das Vi

Mitglied
Nunja der Arbeitgeber arbeitet halt nur mit Java und mir wurde gesagt ich soll es in Java schreiben und ich glaube nicht, dass es mir helfen würde, das erst in Pascal unter Delphi mit GUI und so zu schreiben und das ganze dann auf Java unter Eclipse mit Console-Interface zu übersetzen ;)
 

The_S

Top Contributor
Du musst doch keine GUI machen. Du sollst dir nur die Strukturen und Funktionen von dort abgucken. Ich weiß ehrlich gesagt nicht, ob sich hier noch mal jemand aufraffen kann, deinen Code zu überarbeiten oder durchzugucken.
 

Das Vi

Mitglied
Naja so kompliziert ist der code garnicht (außerdem ist er ja auch kommentiert, sodass man es eigl recht leicht versteht)
sieht verdammt wirr aus, ist aber an sich nicht viel mehr als ein paar if abfragen in einer while schleife ;)
 
M

maki

Gast
Standardsatz: Schlecht geschriebenen Code zu kommentieren ist Zeitverschwendung, guter Code braucht keine Kommentare ;)

Das war es was ich meinte mit mehr Methoden die sprechende Namen haben, selbiges gilt übrigens für Variablen.

Nur anhand diese geposteten Fragments wird keiner in der Lage sein da Ordnung reinzubringen, aber selbst wenn du den kompletten Code reinstellst ist es keine Garantie dass sich jemand deiner annimmt, ist nämlich verdammt schwer zu lesen.
 

Das Vi

Mitglied
Ordnung soll auch garnicht reingebracht werden ^^
Ich bräuchte nur jemanden, der ein wenig mehr Java erfahrung hat und mir evtl sagen kann, warum die Prüfung in der reserve() methode nicht das tut, was sie tun soll.
(Soll nicht irgendwie befehlsmäßig klingen, es ist nur eine bitte :) )
 

hdi

Top Contributor
Also natürlich kann man nicht erwarten dass jetzt eine 4-Tage-Java-Jungfrau die krassesten Design-Pattern verschachtelt. Aber.. so ist das hier auch nicht. In diesem Bsp heisst OO lediglich Kapselung, und das würde es ihm extrem erleichtern.

Also Vi, hier mal ein Grundgerüst. Die Klassen Kunde und KundenArchiv sind fertig, nur in die main-Methode musste halt jetzt wieder anpassen. Aber das kriegste wohl hin. Jetzt sind diese ganzen Reservierungsdaten gekapselt und du kannst dich in der main() lediglich darum kümmern den Programmablauf zu steuern, aber da steckt jetzt kaum was an Logik drin.

Java:
public class Kunde{
private String name;
private List<Integer> reservations;

public Kunde(String name){
   this.name = name;
   reservations = new ArrayList<Integer>();
}

public String getName(){
   return name;
}

public void addReservation(int nr){
   reservations.add(nr);
}

public List<Integer> getReservations(){
   return reservations;
}
}

Java:
public class KundenArchiv{

   private List<Kunde> kunden;

   public KundenArchiv(){
        kunden = new ArrayList<Kunde>();
   }
 
   public void addKunde(Kunde k){
        kunden.add(k);
   }

   public boolean isReserved(int nr){ 
        for(Kunde k : kunden){ 
           for(int i : k.getReservations()){
                if( i == nr ){ 
                   return true;
                }
            }
         }
         return false;
     }

     @Override
     public String toString(){
          StringBuilder sb = new StringBuilder();
          sb.append("--- Kunden-Archiv ---\n");
          for(Kunde k : kunden){ 
              sb.append(k.getName()+ " hat folgende Nummern reserviert:\n");
              for(int i : k.getReservations()){
                 sb.append("\t"+i+"\n");
              }
          }
          return sb.toString();
      }
}

Java:
public class ReservationProcess {

	public static void main(String[] args) {

		KundenArchiv archiv = new KundenArchiv();

		while (true) {
			// Hier geht dein ganzes Einlese-Zeugs los -> cmd einlesen

			boolean cmdWasDumped = true;
			if (cmdWasDumped) {
				System.out.println(archiv);
			}

			boolean cmdWasReserve = false;
			if (cmdWasReserve) {
				boolean more = false;
				do {
					String eingelesenerName = ""; // getNextLine()
					Kunde k = new Kunde(eingelesenerName);
					archiv.addKunde(k);

					// Nummer einlesen
					int eingeleseneNummer = 123; // getNextLine()
					if (!archiv.isReserved(eingeleseneNummer)) {
						k.addReservation(eingeleseneNummer);
						System.out.println("Reservierung getätigt.");
					} else {
						System.out.println("Nummer schon vergeben.");
					}

					// nochmal-Abfrage hierhin, dann auswerten und die Antwort
					// an
					// more zuweisen.
				} while (more);
			}
		}
	}
}

Das ist jetzt nur so hingerotzt, aber es soll dir die Idee von OO zeigen. zB wird hier nicht überprüft ob es einen Kunden schon gibt usw. Und es gibt auch kein Limit für Kunden oder Nummern. Es geht einfach nur darum: Du solltest mehrere Klassen erstellen, die sich selbst organisieren.
 
Zuletzt bearbeitet:

Das Vi

Mitglied
ich warte mal nochmal ab, ob sich noch irgendwas ergibt (bin noch in nem chat oder ich frag nochmal die kollegen hier) aber wenn das nichts wird, dann werde ich es mit den klassen und so machen. ist mir nur einfach zu kompliziert, weil ich dann alles umstrukturieren müsste und das wahrsch. noch mehr aufwand wäre, als das andere (zumindest für mich)
Hilft mir aber auf jeden Fall weiter, weil ich so evtl mal ein bisschen mehr von Klassen und Objekten und so in Java verstehen werde.
Vielen Dank dafür
 

Antoras

Top Contributor
Da Java eine objektorientierte-Programmiersprache ist bezweifle ich, dass du hier viele Leute finden wirst, die sich deinem Code annehmen werden.

Ich hab den mal durchgelesen und den Sinn von den meisten der Anfragen da drin nicht verstanden. Aber zu deinem Problem:
Java:
 if ( anzahl < 10 ) // Startet, wenn frei = anzahl 
            {
                for ( int i = start; i < anzahl; i++) // S.o.
                {
                    reserviert[i] = true; // Nummer wird reserviert
                    kunden[i] = kunde; // Dazugehöriger Kunde wird eingetragen
                }
            }
Wie soll das funktionieren? So wie ich das sehe, machst du hier bei einer mehrfach-Reservierung nichts anderes, als sowohl das Kunden- als auch das reserviert-Array hochzuzählen und zu ÜBERSCHREIBEN. i fängt ja immer bei start an...
Ich würde dir hier lieber ein zweidimensionales-Array empfehlen und alle neuen Kunden einer Reservierung zuweisen.
 

hdi

Top Contributor
So, das Programm ist jetzt voll ausführbar und funktioniert. Noch immer gilt aber: Man kann unendlich viele Kunden erstellen, und unendlich viele Nummern reservieren. Allerdings solltest du das wirklich hinkriegen können. Wenn nicht, frag nach.
Kuck dir den Code in Ruhe, Zeile für Zeile, an. Wenn du etwas nicht verstehst, sag Bescheid. Du sollst ja auch was lernen und nicht nur copy&pasten.

Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReservationProcess {

	private static KundenArchiv archiv;
	private static BufferedReader reader;

	public static void main(String[] args) {

		// initialize program
		archiv = new KundenArchiv();
		reader = new BufferedReader(new InputStreamReader(System.in));

		// start
		while (true) {
			System.out.println("Bitte Befehlsnummer eingeben:");
			System.out.println("1 - Dump");
			System.out.println("2 - Reserve");
			System.out.println("3 - Exit Program");

			int cmd = 0;
			boolean inputOkay = true;
			try {
				cmd = Integer.parseInt(reader.readLine());
			} catch (NumberFormatException e) {
				inputOkay = false;
			} catch (IOException e) {
				inputOkay = false;
			}
			if (!inputOkay) {
				System.out.println("Ungültiger Befehl.");
			} else {
				switch (cmd) {
				case 1:
					dump();
					break;
				case 2:
					reserve();
					break;
				case 3:
					exit();
					break;
				}
			}
		}
	}

	private static void dump() {
		System.out.println(archiv);
	}

	private static void reserve() {
		boolean more = false;
		do {
			System.out.print("Bitte Kunden-Namen eingeben: ");
			String name;
			try {
				name = reader.readLine();
			} catch (IOException e) {
				System.out.println("Es ist ein Fehler aufgetreten.");
				return;
			}

			Kunde k = new Kunde(name);
			if (!archiv.hasKunde(k)) {
				k = new Kunde(name);
				archiv.addKunde(k);
			} else {
				k = archiv.getKunde(name);
			}

			System.out.println("Wieviele Artikel möchten Sie reservieren?");
			try {
				int amount = Integer.parseInt(reader.readLine());
				for (int i = 0; i < amount; i++) {
					System.out.print("Bitte " + (i + 1)
							+ ".te Reservierung eingeben: ");
					int nr = Integer.parseInt(reader.readLine());
					if (archiv.isReserved(nr)) {
						System.out
								.println("Diese Nummer wurde bereits reserviert.");
						return;
					} else {
						k.addReservation(nr);
						System.out.println("Reservierung getätigt.");
					}
				}

			} catch (NumberFormatException e) {
				System.out.println("Es ist ein Fehler aufgetreten.");
				return;
			} catch (IOException e) {
				System.out.println("Es ist ein Fehler aufgetreten.");
				return;
			}

			System.out
					.println("Wollen Sie noch eine weitere Reservierung tätigen? (Bitte true oder false eingeben)");
			try {
				more = Boolean.parseBoolean(reader.readLine());
			} catch (IOException e) {
				System.out.println("Es ist ein Fehler aufgetreten.");
				return;
			}
		} while (more);
	}

	private static void exit() {
		System.out.println("Auf Wiedersehen.");
		System.exit(0);
	}
}

Java:
import java.util.ArrayList;
import java.util.List;

public class KundenArchiv {

	private List<Kunde> kunden;

	public KundenArchiv() {
		kunden = new ArrayList<Kunde>();
	}

	public void addKunde(Kunde k) {
		kunden.add(k);
	}

	public boolean hasKunde(Kunde k) {
		return kunden.contains(k);
	}

	public Kunde getKunde(String name) {
		for (Kunde k : kunden) {
			if (k.getName().equalsIgnoreCase(name)) {
				return k;
			}
		}
		return null;
	}

	public boolean isReserved(int nr) {
		for (Kunde k : kunden) {
			for (int i : k.getReservations()) {
				if (i == nr) {
					return true;
				}
			}
		}
		return false;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append("--- Kunden-Archiv ---\n");
		for (Kunde k : kunden) {
			sb.append(k.getName() + " hat folgende Nummern reserviert:\n");
			for (int i : k.getReservations()) {
				sb.append("\t" + i + "\n");
			}
		}
		return sb.toString();
	}
}

Java:
import java.util.ArrayList;
import java.util.List;

public class Kunde {
	private String name;
	private List<Integer> reservations;

	public Kunde(String name) {
		this.name = name;
		reservations = new ArrayList<Integer>();
	}

	public String getName() {
		return name;
	}

	public void addReservation(int nr) {
		reservations.add(nr);
	}

	public List<Integer> getReservations() {
		return reservations;
	}

	@Override
	public boolean equals(Object other) {
		if (!(other instanceof Kunde))
			return false;
		return ((Kunde) other).name.equalsIgnoreCase(this.name);
	}
}
 
Zuletzt bearbeitet:

Das Vi

Mitglied
sry aber das Programm per Copy&Paste einzufügen und zu sagen, es sei meins kann ich echt nicht machen
Wenn das rauskommen würde, könnt ich die Ausbildungsstelle vergessen...
EDIT SAGT: werd ich jetzt nicht durchlesen, weil keine zeit und so, aber ich mach es 100%, weil ich glaube, dass ich da viel von lernen kann ^^
Danke, dass du dir die Mühe gemacht hast, ich weiß es auf jeden Fall zu schätzen
 
M

maki

Gast
sry aber das Programm per Copy&Paste einzufügen und zu sagen, es sei meins kann ich echt nicht machen
Wenn das rauskommen würde, könnt ich die Ausbildungsstelle vergessen...
Verständlich, aber sich hinzustellen und zu sagen "löst mein Problem, aber ich strukturiere mein Prog nicht damit es leserlich/verständlich wird" ist auch nicht viel besser ;)

Vielleciht hilft dir Antoras Post.
 

Matt

Aktives Mitglied
hmm ^^ wasn das fürn Projekt genau? also ich seh noch net das eigl. was dein Prog machen soll. Nunja und Pascal hin oder her :D Programmieren ist Programmieren xD das einzige was einen zu schaffen machen kann ist Syntax aber dafür gibts ja INET :D


Achja und die Aussage jezz mal projekt machen und rest in Ausbildung lernen find ich doch recht schade ^^ und was Java angeht - me hatte vor java immer das prob das firmen die Coder suchten immer Java vorausgesetzt haben - kA wieso xD nun ja und wenn man es erstmal aktiv macht erkennt man doch wie fein es ist...

achja zu deinem Programm da xD wie gesagt die eig. methoden kannt ich ja net weil di ehier nie gepostet wurden. Aber ich hab dir mal innerhalb von knapp 12min mal den Code runtergeballert ^^ schön fein in OO mit zwei Klassen einmal Service und einmal Kunde. Und eine vollgeballert main klasse xD mit einer feinen Menüstruktur für die Konsole xD - wenn man das erst mal xmal gemacht hat geht das wie von allein

hier mal direkt zum angucken die drei klassen:

kunde.java
Java:
public class kunde extends service {
    private int kundennummer;
    
    kunde(){
    }
    
    kunde(int nummer){
        kundennummer = nummer;
    }
    
    public int getKundennummer(){
        return kundennummer;
    }
}

Die service.java
Java:
public class service {
    private int anzahl;
    
    service(){
        anzahl = 0;
    }
    
    public void setAnzahl(int neueanzahl){
        anzahl = neueanzahl;
    }
    
    public int getAnzahl(){
        return anzahl;
    }
}

und natürlich die Main klasse die alles ausführt ^^ (vorsicht dein Code von ganz oben ist noch drin, aber auskommentiert)

cmain.java

Java:
import java.io.*;
import java.util.*;


public class cmain {

    public static void howmany(){
        System.out.println("Wieviele Produkte wollen sie resrvieren lassen?");
    }
    
    public static void showall(List<kunde> KundenListe){
        for(int i = 0; i < KundenListe.size();i++){
            kunde costumer = KundenListe.get(i);
            System.out.println("KundenNr: "+costumer.getKundennummer()+" - Anzahl: "+costumer.getAnzahl());
            System.out.println("--------------------------------------");
        }
    }
    
    public static void showone(kunde costumer){
        System.out.println("KundenNr: "+costumer.getKundennummer()+" - Anzahl: "+costumer.getAnzahl());
        System.out.println("--------------------------------------");
    }
    
    public static void showmenu(){
        System.out.println();
        System.out.println();
        System.out.println();
        System.out.println("-----Kunden Service--------");
        System.out.println("---------------------------");
        System.out.println("-------Befehlsliste--------");
        System.out.println("Neuer Kunde ----------- new");
        System.out.println("Neue Reservierung - reserve <KundenNr>");
        System.out.println("Reservierung auf Aktuellen Kunden - reserve");
        System.out.println("Ausgabe ----- show <KundenNr>");
        System.out.println("Alle Daten zeigen ---- show");
        System.out.println("Beenden -------------- exit");
    }
    
    public static String getCmdIn() throws IOException{
        System.out.println("--------------------------------");
        System.out.println("Eingabe mit Return abschliessen!");
        System.out.print("Eingabe: ");
        BufferedReader reader = new BufferedReader(new InputStreamReader( System.in ));
        return reader.readLine();
    }
    
    /**
     * @param args
     * @throws IOException 
     * 
     */
    public static void main(String[] args) throws IOException {        
       
        String command = "";
        int nummer = 1;
        List<kunde> KundenListe = new ArrayList<kunde>();
        
        while(!command.equals("exit")){
            try{
                
            
                showmenu();
                command = getCmdIn();
                if(command.length()<3){
                    command = "                     ";
                }
                else if(command.equals("new")){
                    kunde costumer = new kunde(nummer); //Neue Instanz anlegen
                    KundenListe.add(costumer); //Instanz in List aufnehmen
                    System.out.println("Kunde mit KundenNr "+nummer+" wurde angelegt!");
                    System.out.println("---------------------------------------------");
                    nummer++;
                }
                else if(command.substring(0,4).equals("show")){
                    if(command.length() > 5){
                        showone(KundenListe.get(Integer.parseInt(command.substring(5))-1)); //Zeige den einen Kunden
                        
                    } else {
                        showall(KundenListe); //Zeige alle Kunden
                    }
                }
                else if(command.substring(0,7).equals("reserve")){
                    if(command.length() > 8){
                        int tempNr = Integer.parseInt(command.substring(8)); 
                        if(tempNr <= nummer){
                            //Reserviere ein Produkt für Kunden der auf Kundennummer zutrifft, sofern KundenNr existiert
                            howmany();
                            String anzahl = getCmdIn();
                            kunde costumer = KundenListe.get(tempNr-1);
                            costumer.setAnzahl(Integer.parseInt(anzahl));
                            System.out.println("Für die KundenNr: "+costumer.getKundennummer()+" wurden "+costumer.getAnzahl()+" Produkte reserviert");
                        }
                        else{
                            System.out.println("---------------------------------------");
                            System.out.println("FEHLER: KundenNr existiert nicht!");
                            System.out.println("---------------------------------------");
                        }
                        
                    } else {
                        //Reserviere ein Produkt für Aktuellen Kunden
                        howmany();
                        String anzahl = getCmdIn();
                        kunde costumer = KundenListe.get(nummer-2);
                        costumer.setAnzahl(Integer.parseInt(anzahl));
                        System.out.println("Für die KundenNr: "+costumer.getKundennummer()+" wurden "+costumer.getAnzahl()+" Produkte reserviert");
                    }
                }
            }catch(Exception ex){
                System.out.println(ex.getMessage());
            }
        }
        
        
        
        /*
        for (int i = 0; i < nummern.length; i++)
        {
            nummern[i] = String.format("%0" + stellen + "d", i);            
        }
        
        String kunde = null;
        int anzahl = 0;
        ReservationSystem r = new ReservationSystem(kunde, anzahl);
 
        while (true) {
            String cmd = null;
            while (cmd == null) {
                System.out.println("Bitte Befehl eingeben: ");
                System.out.println("1. dump");
                System.out.println("2. reserve");
                try {
                    cmd = getNextLine();
                } catch (IOException e) {
                    // ignore
                }
                if (!"dump".equals(cmd.trim().toLowerCase()) &&
                        !"reserve".equals(cmd.trim().toLowerCase())) {
                    System.out.println("Befehl ungültig!");
                }
            }
            
            
            if ("dump".equals(cmd.trim().toLowerCase())) {
                r.dump();
            }
            else if ("reserve".equals(cmd.trim().toLowerCase())) {
                System.out.print("Bitte Namen eingeben: ");
                try {
                    kunde = getNextLine();
                    r.setKunde(kunde);
                } catch (IOException e) {
                    break;
                }
                System.out.print("Wieviele Nummern möchten Sie reservieren? ");
                    try {
                        anzahl = Integer.parseInt(getNextLine());    
                    } catch (IOException e) {
                        break;
                    }
                    r.setAnzahl(anzahl);
                    r.reserve();
                    
                    System.out.println("Mehr ?");
                    String ans;
                    try {
                        ans = getNextLine();
                    } catch (IOException e) {
                        break;
                    }
                    
 
                    if ("yes".equals(ans.trim().toLowerCase()) || 
                        "ja".equals(ans.trim().toLowerCase()) ||
                        "y".equals(ans.trim().toLowerCase())) {
                        System.out.println("Ok. Lets fetz.");
                        
                    }
                    else if ("no".equals(ans.trim().toLowerCase()) ||
                            "nein".equals(ans.trim().toLowerCase()) ||
                            "n".equals(ans.trim().toLowerCase()))
                    {
                        System.out.println("Vielen Dank für Ihre Bestellungen!");                
                        break;
                    }
            }
            
 
            
        }    */
    }

}

Hab dir auch mal alles eingepackt und in mein Trash vereichnis gepackt :p ist ja Trash xD
Hier der Link zum downloaden: mrwn.de/trash/codes/Kundenservice.rar

Alle weiteren Methoden die du ja hast kannst ja implementieren - hoffe das dir das implementieren nicht zu schwer wird xD


Achja bisher kann die Klasse 2^31 Objekte zur laufzeit erzeugen kA glaub sind irgendwas mit 2milliarden kunden ^^ und du hast auch so einige befehle wie "reserve" um eine anzahl an produkten dem kunden zu zu ordnen und den Befehl "show" um alle bisherigen Kunden anzuzeigen usw....natürlich sind alle kunden nur solang gespeichert wie das programm läuft ^^ da hilft es vllt entweder diese in datenbanken zu schreiben oder Dateien ^^

bla bla wenn du noch mehr ideen oder infos brauchst meld dich ruhig ^^ hab heute nen freien tag und wollte ma schauen was ich im forum machen kann :D

Matt
 

hdi

Top Contributor
@Matt

Wir haben ihm vorher gesagt dass man Klassen-Namen gross schreibt und du zeigst es ihm jetzt wieder falsch ;)
 

Matt

Aktives Mitglied
@Matt

Wir haben ihm vorher gesagt dass man Klassen-Namen gross schreibt und du zeigst es ihm jetzt wieder falsch ;)

ach damn ^^ naja war halt so geschrieben nur xD da hab ich einfach net aufgepasst und das mit den unendlich nummern ist ja auch net drin also kann man es verwerfen und demnoch hast du ja schon das selbe mit erweiterung xD also verwirf meins einfach xD

und naja ;) trotzdem - der Herr sollte (auch wenn es wenig ist) sich die zeit nehmen die er hat....sonst steht er am ende mit nix da :p
 

Das Vi

Mitglied
Leute vielen Dank für eure Hilfe, ich hab das Programm jetzt auf jeden Fall erstmal zum Laufen gebracht (unter Zuhilfenahme eines Mitarbeiters und eines Java-Chats)
Problem ist soweit gelöst, es war lediglich ein kleiner semantikfehler mit großen auswirkungen.
Fred kann geschlossen werden denk ich, da Problem ja gelöst :)
nochmal DANKESCHÖN!!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Zum Hauptprogramm zurückspringen Java Basics - Anfänger-Themen 2
C Zum Dateianfang zurückspringen Java Basics - Anfänger-Themen 6
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 2
M Erste Schritte Java Primzahltester Java Basics - Anfänger-Themen 4
A csv Reader für Java? Java Basics - Anfänger-Themen 24
K Java - Enums Java Basics - Anfänger-Themen 30
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
R Input/Output Verwendung des Euro-Zeichens in Java Java Basics - Anfänger-Themen 7
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben