Обработка некорректного ввода
В этом шаге мы модифицируем код из предыдущего шага для обработки некорректного ввода пользователя.
Во - первых, мы обернем код из шага 6 в блок try - catch, чтобы обработать любые исключения, которые могут возникнуть из - за некорректного ввода пользователя.
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.");
}
Блок try содержит тот же код, что и в шаге 6, для чтения ввода пользователя, преобразования его в незнаковую десятичную строку и вывода ее в консоль.
Блок catch ловит любое исключение InputMismatchException, которое может возникнуть из - за некорректного ввода пользователя, и выводит сообщение об ошибке в консоль, указывающее, что введенное значение не является допустимым значением типа long.
Вот полный код:
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.");
}
}
}
При запуске программы и вводе некорректного значения программа выведет сообщение об ошибке в консоль. Если вы введете допустимое значение типа long, программа преобразует его в незнаковую десятичную строку и выведет ее в консоль.