Wie kann man darauf bestehen, dass eine Benutzereingabe ein Int ist?

Grundlegendes Problem hier .. Ich beginne mit der Frage, dass Sie bitte nicht mit einem Code antworten, da dies mich wahrscheinlich nur weiter verwirren wird (Programmierung noob). Ich suche nach einer klaren Erklärung, wie ich dieses Problem lösen kann.

Ich habe einen Scanner, der Eingaben vom Benutzer liest. Der Benutzer wird aufgefordert, einen int-Wert zwischen 1 und 150 einzugeben (nur ganze Zahlen). Ich erhalte den Wert wie folgt:

    Scanner scan = new Scanner(System.in);
    int input = scan.nextInt();

Fahren Sie mit meinem Programm fort, und alles funktioniert einwandfrei.

Leider ist der Code nicht genau kugelsicher, da jede Eingabe, die keine Ganzzahl ist, ihn beschädigen kann (Buchstaben, Symbole usw.).

Wie kann ich den Code robuster machen, um sicherzustellen, dass nur ein int eingegeben wurde?

Dies sind die Ergebnisse, auf die ich hoffe:

Nehmen wir an, die Eingabe war:

23 -> valid
fx -> display an error message, ask the user for input again (a while loop would do..)
7w -> error, again
3.7 -> error
$ -> error
etc

Antworten auf die Frage(7)

Ihre Antwort auf die Frage