Go to ?

Status
Nicht offen für weitere Antworten.
S

Stefan--

Gast
Hi hoffe mir kann jemand helfen.
Gibt es in java einen befehl ( go to oder so ) mit dem man dem programm sagt das es in Zeile x springen soll ?

Bräuchte sowas für einen Reset-Knopf .. . wenn dann jemand draufklickt wird das programm neu gestartet
( geht also wieder zur 1. Zeile )
 

Marco13

Top Contributor
hoffe mir kann jemand helfen.
Ja.

Gibt es in java einen befehl ( go to oder so ) mit dem man dem programm sagt das es in Zeile x springen soll ?
Nein.

Bräuchte sowas für einen Reset-Knopf
Nein :wink:

Man braucht goto nicht. (Man braucht es NIE!). Egal, was du machen willst: Du kannst es ohne goto erreichen.

Poste ggf. mal den Code, in dem du eine Zeilenmarkeirung und ein goto eingefügt hast, "so, als ob es das geben würde". Dann kann man sagen, wie man es machen kann, OHNE goto zu verwenden.
 

Jango

Gesperrter Benutzer
jensra hat gesagt.:
'GoTo' das war doch die Mircosoft-Krankheit in VB - oder irre ich mich da?

äh...nein :roll:

Edit: "goto" ist aber für Java "vorgemerkt", deshalb steht es auch bei den Schlüsselwörtern - ob es wirklich mal kommt - wer weiß...
 

Wildcard

Top Contributor
Code:
while(true)
{
    System.out.println("1");
A: System.out.println("2");
    System.out.println("3");
    if(true)
       continue A;
}
Ist übrigens ganz schlechter Stil.
 
R

Roar

Gast
wildcard: nee das geht doch nicht ???:L break und continue kann man doch nur benutzen wenn das label vor einer schleife steht :?:
 

Jango

Gesperrter Benutzer
Roar hat gesagt.:
wildcard: nee das geht doch nicht ???:L break und continue kann man doch nur benutzen wenn das label vor einer schleife steht :?:

Und wenn das so ist, wo ist denn dann der Unterschied zu "goto" ?

Edit: Nicht, dass man es benutzen sollte - aber ist doch auch irgendwie ähnlich, oder?
 

Wildcard

Top Contributor
Diese Label Sprünge sind nur in Schleifen verwendbar und haben denn Sinn das man in mehreren verschachtelten Schleifen mit break/continue in einer bestimmten rauskommt. Eigentlich braucht man's nicht. Sind nur ganz wenige Spezialfälle wo das mal nützlich sein kein.
 

Jango

Gesperrter Benutzer
Wildcard hat gesagt.:
Diese Label Sprünge sind nur in Schleifen verwendbar und haben denn Sinn das man in mehreren verschachtelten Schleifen mit break/continue in einer bestimmten rauskommt.

Richtig - das ist aber auch der gedachte Sinn von "goto" - nur ist die Versuchung groß, es überall im Code einzusetzen. ;)
 
G

Gast

Gast
Es geht mir darum das ich einen Reset knopf einbauen will.
Wenn der dann gedrückt wird startet das programm ja neu
Und da ich noch nicht so viel ahnung vom programmieren hab ist mir nur die idee gekommen dem programm zu sagen das es dann in zeile 1 wieder springen soll.
Wie macht man das ?
oder , wie könnte man das noch machen ?
 

André Uhres

Top Contributor
Wenn ich eine Anwendung neu starten will, dann mach ich's über Runtime.
Etwa so:
Code:
           String udir = System.getProperty("user.dir");
            try {
                String cmd = "java -Xmx150m -jar \"" +udir+ "\\MeineAnwendung.jar\"";
                Runtime.getRuntime().exec(cmd);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
Du könntest aber auch einfach den Code wiederholen, der in deiner "main"-Methode steht.
 

André Uhres

Top Contributor
Wildcard hat gesagt.:
Da würde ich aber lieber nochmal main aufrufen bevor ich auf der Runtime rumrutsche :shock:
Runtime hat den Vorteil, daß garantiert alle Ressourcen freigegeben werden :wink:
Ist halt ein "echter" Neustart. Ach ja: ein "System.exit(0);" kommt natürlich auch noch dazu!
 
G

Gast

Gast
Das macht man mit einer Schleife oder einer Methode die man erneut aufruft. ////

aber das gilt ja net für alle fähle wenn ich zum anfang will ,oder ?
 
G

Gast

Gast
Hat sich jedenfalls erledigt , das mit dem Runtime find ich ziemlich kompliziert , da ich auch noch änfanger bin und mir das alles nichts sagt.
Main - nochmal aufzurufen hat super geklappt

Dankeschön!!!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben