Wie kann ich input.close() verwenden?

1 Antwort

Mit dem Aufruf von close wird der Eingabestream geschlossen. Das heißt, wenn du danach erneut versuchst, etwas aus dem Eingabestream zu lesen, wirst du einen Fehler erhalten, da der ja nicht mehr existent ist.

Du darfst die Methode also erst dann aufrufen, wenn du weder das Scanner-Objekt noch den Eingabestream im Programm noch benötigst.

Generell wäre es wohl sinnvoll, nur mit einem Scanner-Objekt zu arbeiten. Das heißt, du kannst die Variable input ruhig schon vor der Schleife definieren.

Scanner input = new Scanner(System.in);

while (z < 5) {
  /* ... */
}

input.close();