Anfang von Programmtext

LordLazor

Mitglied
Guten Tag,
ich bin noch ein ziemlicher Java Anfänger bzw. habe ich erst vor ein paar Wochen damit angefangen. In meiner Schule kommen wir sehr langsam voran, deswegen arbeite ich ein bisschen vor und versuche so viel wie möglich in meinen Kopf zu bekommen, was außerhalb der Schule passiert.

Zu meiner Frage:

ich möchte bei dem folgenden Programmtext ganz am Ende der Methode bei einer Ja/Nein Abfrage von JOptionPane bei Ja das Programm bzw. die Methode wiederholen und bei nein soll die Methode einfach abschließen. Die Frage dazu soll sein: Wollen Sie das Bewerbungsformular wiederholen?

Code:
public void bewerbungsFormular()
    {
        JOptionPane.showMessageDialog(null, "Dies ist ein Bewerbungsformular. Bitte füllen Sie dies in ganzen Sätzen aus, \nansonsten werden ihre Ergebnisse nicht gewertet!");
        String name = JOptionPane.showInputDialog("Zuerst geben Sie bitte erstmal Ihren Namen ein, damit wir Sie zuweisen können.");
        JOptionPane.showMessageDialog(null, "Guten Tag, " + name);
        String alter = JOptionPane.showInputDialog(null, "Nun möchten wir, dass Sie ihr Alter eingeben.");
        JOptionPane.showMessageDialog(null, "Ihr Alter " + alter + " wurde erfolgreich eingetragen");
        JOptionPane.showMessageDialog(null, "Bitte tragen Sie nun ein paar persönliche Informationen ein.\nDie Themen sind bereits vorangefertigt");
        String hobby = JOptionPane.showInputDialog(null, "Was machen Sie zur Zeit als Hobby?");
        JOptionPane.showMessageDialog(null, "Also würden Sie " + hobby + " für Ihren Job ab und zu ausfallen lassen?");
        String yesno = JOptionPane.showInputDialog(null, "Bitte antworten Sie nur mit ja oder nein");
        String zuHause = JOptionPane.showInputDialog(null, "Zu guter letzt würden wir wissen, ob Sie allgemein zu Hause an ihrer Arbeit arbeiten würden.\nBitte nur mit ja oder nein antworten.");
        JOptionPane.showMessageDialog(null, "Sie haben das Bewerbungformular erfolgreich fertiggestellt.");
        JOptionPane.showMessageDialog(null, "Sie haben folgende Antworten eingetragen:\nName: " + name + "\nAlter: " + alter + "\nHobby: " + hobby + "\nHobby für Job ausfallen lassen: " + yesno + "\nZu Hause arbeiten: " + zuHause);
        JOptionPane.showMessageDialog(null, "Fehler: 404\nSie wurden nicht angenommen\nBitte verlassen Sie umgehend den Raum", "Fehlermeldung", JOptionPane.ERROR_MESSAGE);
    }

Ich hoffe ich habe es gut genug erklärt, falls nicht erkläre ich dies gerne nochmal.

Edit: Der Programmtext, der angegeben ist, ist eigentlich ziemlich unwichtig, ich wollte nur zeigen, wie das Programm aufgebaut ist
Falls jemand eine Verbesserung des Codes hat kann er es mir gerne schildern!
 

Robat

Top Contributor
Die Frage lässt sich mEn nicht 100%ig aus dem Text ableiten...
ich möchte bei dem folgenden Programmtext ganz am Ende der Methode bei einer Ja/Nein Abfrage von JOptionPane bei Ja das Programm bzw. die Methode wiederholen und bei nein soll die Methode einfach abschließen
Im wesentlichen geht es aber um 2 Dinge .. das JOptionPane und die Wiederholung des "Formulars". Da du die Frage zum JOptionPane schon beantwortet hast, hab ich einfach mal noch die Frage zur Wiederholung beantwortet ;)
 

LordLazor

Mitglied
Ja tut mir leid habe es etwas sehr kompliziert ausgedrückt :confused:
Erstmal vielen Dank für den Programmtext mit JOptionPane.

Mein größtes Problem ist, dass ich schleifen also for und while nicht verstanden habe. Wir hatten dies noch nicht im Unterricht & die ganzen Tutorials haben mir nicht so ganz geholfen.
Könnte mir jemand evtl. ein Beispiel zum wiederholen einer Methode schreiben & mir dies erläutern :D
 

mihe7

Top Contributor
dass ich schleifen also for und while nicht verstanden habe
Das ist nicht schwer. Ganz allgemein: eine Schleife wiederholt Anweisungen. In der Regel werden die Anweisungen wiederholt, so lange (oder auch bis) eine Bedingung erfüllt ist. Man kann Schleifen danach kategorisieren, ob die Bedingung vor oder nach dem Schleifendurchlauf überprüft wird.

Eine while-Schleife besteht aus einem Kopf und einem Rumpf. Dabei wird der Rumpf so lange wiederholt, wie die im Kopf formulierte Bedingung erfüllt ist. Eine while-Schleife hat in Java das Schema:
Java:
while (bedingung) {
    anweisung(en);
}
Die Anweisungen werden wiederholt, so lange die bedingung erfüllt ist. Die Bedingung wird dabei vor jedem Schleifendurchlauf überprüft.

Oft ist es notwendig, vor der while-Schleife Variablen zu initialisieren, die in der Bedingung oder im Rumpf verwendet werden. Konkretes Beispiel:
Java:
int zahl = 1;
while (zahl <= 10) {
    System.out.println(zahl);
    zahl++;
}

Damit sind wir auch schon bei der for-Schleife. Die ist der while-Schleife sehr ähnlich:
Java:
for (initialisierung; bedingung; inkrement) {
    anweisung(en);
}
Die initialisierung wird ein einziges mal, noch vor der eigentlichen Schleife ausgeführt. Wie bei der while-Schleife wird auch bei der for-Schleife die bedingung vor dem Schleifendurchlauf überprüft. Besonders interessant an der for-Schleife ist inkrement. Dieser Teil wird am Ende eines Schleifendurchlaufs, also nach den anweisung(en), ausgeführt.

Das while-Beispiel von oben lässt sich somit auch als for-Schleife schreiben:
Java:
for (int zahl = 1; zahl <= 10; zahl++) {
    System.out.println(zahl);
}
(Anmerkung: da der Rumpf nur aus einer einzigen Anweisung besteht, hätte man hier die geschweiften Klammern auch weglassen können)

Bei Fragen einfach fragen.
 

LordLazor

Mitglied
Vielen Dank, das hat mir wirklich sehr geholfen!!
Habe schon ein bisschen mit den Schleifen rum probiert und ich habe es jetzt denke ich gut verstanden.
Vielen Dank an alle!
 

Lucaaa

Bekanntes Mitglied
Dann wäre da noch die do-while Schleife.
Diese Schleife funktioniert ähnlich wie die while-schleife, mit dem Unterschied, dass die Anweisungen mindestens einmal ausgeführt werden. Also:
Java:
do {
   Anweisung(en);
} while (Bedingung);

Ich denke diese Variante eignet sich für dich am besten, da du deine Anweisung (Ich glaube es war ein Login?) ja mindestens einmal ausgeführt haben musst.
 

mihe7

Top Contributor
Richtig, das fällt in die zweite Kategorie, bei der die Bedingung nach dem Schleifendurchlauf überprüft wird.

Um die Verwirrung komplett zu machen: es gibt noch eine weitere Art, nämlich for-each-Schleifen.

In Java kann über bestimmte Objekte iteriert werden, dazu zählen Arrays und alles, was Iterable implementiert (z. B. Collection-Klassen). Jetzt etwas salopp und technisch nicht korrekt ausgedrückt: ein solches Objekt liefert so lange Elemente, bis es der Meinung ist, dass es keine mehr hat. Mit einer for-each-Schleife kann der Schleifenrumpf für jedes dieser Elemente ausgeführt werden:
Java:
String[] namen = {"Hans", "Gustav", "Franz"};
for (String name : namen) {
    System.out.println(name);
}
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
K Wie kann ich ein Element an den Anfang setzten ? Java Basics - Anfänger-Themen 1
berserkerdq2 Warum macht man in IJVM am Anfang Bipush 0? Java Basics - Anfänger-Themen 1
M Java Anfang Java Basics - Anfänger-Themen 13
T Netzwerkprogrammierung Anfang Java Basics - Anfänger-Themen 9
J am Anfang eines String ein Leerzeichen löschen Java Basics - Anfänger-Themen 6
N Anfang eine Array Schleife finden Java Basics - Anfänger-Themen 18
F Interface JTextField am Anfang unsichtbar o_o Java Basics - Anfänger-Themen 3
H Tetris anfang Java Basics - Anfänger-Themen 6
V Bin eigentlich noch VOR dem Anfang .... Java Basics - Anfänger-Themen 9
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
D ListIterator auf Anfang zurücksetzen Java Basics - Anfänger-Themen 2
S Video2Brain Java7 gut fürn Anfang? Java Basics - Anfänger-Themen 8
M Komplett anfang in Java Java Basics - Anfänger-Themen 9
O Erste Schritte Aller Anfang ist schwer ! Bitte um Unterstützung Java Basics - Anfänger-Themen 6
M Aller anfang ist schwer :D Hilfe! Java Basics - Anfänger-Themen 18
S Erste Schritte Von Anfang an ! Java Basics - Anfänger-Themen 6
J Variablen Letzte berechnete variable am anfang Ausgeben ? Java Basics - Anfänger-Themen 4
B Anfang des Damenproblems Java Basics - Anfänger-Themen 82
H Problem beim Anfang von Java (Java Editor) Java Basics - Anfänger-Themen 2
E Listen vereinen, wenn Elemente am Anfang/Ende übereinstimmen Java Basics - Anfänger-Themen 2
J Bufferedreader nich von anfang an. Java Basics - Anfänger-Themen 14
Z TableCellRenderer anfang so richtig? Java Basics - Anfänger-Themen 13
M JTextPane an den Anfang springen Java Basics - Anfänger-Themen 8
Povlsen84 String - Zeichen am Anfang entfernen Java Basics - Anfänger-Themen 11
P Ein Programm vorzeitig beenden und wieder an den Anfang springen. Java Basics - Anfänger-Themen 7
K Befehl um am Anfang einer Methode zu kommen? Java Basics - Anfänger-Themen 9
A Filereader - An den Anfang des File springen Java Basics - Anfänger-Themen 2
G Einfacher Anfang mit Hibernate Java Basics - Anfänger-Themen 4
P Buffered Reader an Anfang setzen Java Basics - Anfänger-Themen 4
A Aus switch case an den Anfang? Java Basics - Anfänger-Themen 7
B so ziemlich am anfang Java Basics - Anfänger-Themen 11
G datei -> zeile am anfang einfügen/löschen Java Basics - Anfänger-Themen 4
K Ganz am Anfang - Java + Datenbank Java Basics - Anfänger-Themen 6
G Aller anfang is schwer. Java Basics - Anfänger-Themen 4
C Java-Anfang main void public? Java Basics - Anfänger-Themen 5
T Grundlagen ganz am Anfang Java Basics - Anfänger-Themen 12
R An den Anfang einer While-Schleife springen Java Basics - Anfänger-Themen 2
D wieso ist die combobox nicht von anfang an aktiviert? Java Basics - Anfänger-Themen 4
A Iterator auf anfang setzen Java Basics - Anfänger-Themen 5
G in txt file text nicht am ende sondern am anfang anhängen! Java Basics - Anfänger-Themen 12
A ganz am Anfang Java Basics - Anfänger-Themen 15
K Zum Anfang einer ArrayList springen Java Basics - Anfänger-Themen 4
J TextArea auf Anfang setzen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben