Java Programmierung zahl oder Buchstabe?

...komplette Frage anzeigen

2 Antworten

Nutze den java.util.Scanner zum Einlesen:

Scanner scanner = new Scanner(System.in);

while (scanner.hasNext()) {
   if (scanner.hasNextInt()){
	int number = scanner.nextInt();
	System.out.println("is a number: " + number);
	break;
   }
   scanner.next();
}
		
scanner.close();

Der Scanner läuft, so lange Eingaben gemacht werden. Wenn die Folgeeingabe eine Zahl ist, wird sie in eine Variable gespeichert, ausgegeben und die Schleife abgebrochen. Ansonsten macht der Zeiger des Scanners einfach nur einen Schritt vorwärts und der nächste Iterationsschritt beginnt.

Das kannst du noch zur do-while umformen, überlasse ich aber dir.

Falls du die Konsole nicht nutzt, könntest du den String natürlich auch anderweitig überprüfen, bspw. mit einem regulären Ausdruck, der im Folgebeispiel nur die Zahlen 1...99 zulässt.

public static boolean isExpectedNumber(String str){
    return str.matches("[1-9]{1}[0-9]{0,1}");
}

Anwendung:

if (isExpectedNumber(eingabe)) { /* parse string to int */ }

Wie das Parsen klappt, hat dir bereits XGamer11208 geschrieben.

1

In Java kann man vieles durch "parsen" umwandeln
also z.B. String zu Integer

int number = Integer.parseInt(numberAsString);

Was möchtest Du wissen?