Behandlung ungültiger Eingaben
In diesem Schritt werden wir den Code aus dem vorherigen Schritt modifizieren, um ungültige Benutzereingaben zu behandeln.
Zunächst werden wir den Code aus Schritt 6 in einen try-catch-Block umschließen, um alle Ausnahmen zu behandeln, die aufgrund einer ungültigen Benutzereingabe auftreten können.
try {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
long userLong = scanner.nextLong();
String unsignedString = Long.toUnsignedString(userLong);
System.out.println("Unsigned String value: " + unsignedString);
} catch (InputMismatchException exception) {
System.out.println("Invalid input: Please enter a valid long value.");
}
Der try-Block enthält denselben Code wie in Schritt 6, um Benutzereingaben zu lesen, sie in einen vorzeichenlosen dezimalen String umzuwandeln und ihn in der Konsole auszugeben.
Der catch-Block fängt alle InputMismatchException-Ausnahmen ab, die aufgrund einer ungültigen Benutzereingabe auftreten können, und gibt eine Fehlermeldung in der Konsole aus, die angibt, dass die Eingabe kein gültiger long-Wert war.
Hier ist der vollständige Code:
import java.util.InputMismatchException;
import java.util.Scanner;
public class LongToUnsignedString {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
long userLong = scanner.nextLong();
String unsignedString = Long.toUnsignedString(userLong);
System.out.println("Unsigned String value: " + unsignedString);
} catch (InputMismatchException exception) {
System.out.println("Invalid input: Please enter a valid long value.");
}
}
}
Wenn Sie den Code ausführen und eine ungültige Eingabe eingeben, wird das Programm eine Fehlermeldung in der Konsole ausgeben. Wenn Sie einen gültigen long-Wert eingeben, wird das Programm ihn in einen vorzeichenlosen dezimalen String-Wert umwandeln und ihn in der Konsole ausgeben.