Java Programm soll nicht enden?

5 Antworten

Von Experte MrAmazing2 bestätigt

Endlosschleife, oder eben ein Thread.sleep evtl auch in einer Schleife

try {
    while (true) {
        //do something here... break the while loop for example 
        Thread.sleep(1000);
    }
} catch (Exception e) {
    System.err.out("something went wrong");
}

Habe ich hier geschrieben, ohne IDE, Fehler also immer möglich.

Das Ding führt eine Endlosschleife aus und schläft darin immer eine Sekunde. Du kannst dann zum Beispiel irgendwas auswerten um die Schleife zu unterbrechen, oder andere Dinge zu erledigen.

Gruß und viel Spaß

Woher ich das weiß:eigene Erfahrung

Du könntest eine Endlose While-Schleife an's Ende packen.

System.out.println("Hallo");
while(true) {
  Thread.sleep(1000); //<- Dann hast du keine Performance-Probleme
}
Woher ich das weiß:Hobby – Erfahrener Programmierer und Informatik-Student

gibt das Performanz probleme?

0
@JonaJNK

Jo, gibt's.

Mach ein Sleep in die Schleife, dann gibt's keine Performance-Probleme.

Warum willst du denn, dass es nicht endet? Was ist deine Intention dahinter?

0

Denkt dran die Exception zu fangen, Thread.sleep wirft eine InterruptedException die behandelt werden muss.
Ja ja die managed Exceptions ...immer nervig.

Gruß

1
@MrAmazing2

Man kann natürlich an seine Main throws schreiben, aber auch eher schlechter Stil.
Exceptions sollte man behandeln und zum Beispiel eine Ausgabe machen damit der Nutzer weiß was los ist.

Gruß

1

Am einfachsten und gleichzeitig am saubersten indem du einfach eine Benutzereingabe abfragst, deren Inhalt du aber einfach ignorierst, weil das Programm sowieso schon durchgelaufen ist.

Oder noch sauberer: Wenns schon ne Konsolenanwendung ist, dann starte sie auch aus einer laufenden Konsolenumgebung heraus...

Woher ich das weiß:Hobby

Ein Programm ist nun Mal zuende wenn's nichts mehr zu tun gibt.

Eine While-Schleife mit nem sleep ginge, oder ein sehr langer sleep, evtl. gibt es in Java auch sowas wie system("pause") unter C++ bei Windoof

bei consolenprogrammen macht man aber am ende immer eine INPUT Eingabe Abwrten fürs Beenden , wenn man noch was sehen will vom ergebnis ;)

1
@TechPech1984

Nein. Das tun üblicherweise Anfänger und evtl. noch Leute die die Konsole zusätzlich zu einer GUI als Debuggingmonitor o.ä. zweckentfremden.

Wenn man noch was vom Ergebnis sehen will, dann sollte man ein Konsolenprogramm so ausführen, wie es in seiner Natur liegt: Über eine Konsolenumgebung...

1
Von Experte ohwehohach bestätigt

einfach auf eine tastatureingabe warten .

weißt du wie ich das mache?

0

Was möchtest Du wissen?