Ich habe ein Programm, das dieses Problem gleichzeitig und ich habe läuft, wo ich den Thread stoppen will, aber die for-Schleife/while-Schleife nicht einmal ich, dass ichFür und While-Schleife
Wenn ich einmal bekommen abgesagt gelangt klicken Nehmen Sie die for
Schleife aus der while
Schleife, reagiert das Programm tatsächlich auf die Eingabe und schaltet sich ab.
class MyNumber extends Thread {
private volatile boolean processing = true;
public void run() {
while (processing) {
// Once I take this for loop out(put // beside it like right now), the enter key to stop the program then does work.
//for(int i = 1; i<27; i++){
System.out.println("Letter " + "i");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// }
}
}
public void permSleep() {
processing = false;
}
}
public class LetterNumber {
public static void main(String[] args) {
MyNumber num1 = new MyNumber();
num1.start();
System.out.println("Hit enter to stop the Numbers!");
Scanner shutter1 = new Scanner(System.in);
shutter1.nextLine();
num1.permSleep();
}
}
Warum die for
Schleife verursachen, das Programm zu nicht Abschaltung?
Btw, sollte es nicht sagen während (Verarbeitung == wahr), aber gerade während (Bearbeitung). Würde die while-Schleife auch nicht brechen, wenn in der Konsole etwas eingegeben wurde, weil sie die Methode permSleep aufgerufen hat, die die Variable verarbeitet == false? – JavaNewb
Das wird "Letter i" einmal pro Sekunde auf unbestimmte Zeit drucken. –