2015-03-15 2 views
0

Я создаю программу на Java, которая добавляет, вычитает и умножает шестнадцатеричные числа (без преобразования их в десятичные числа), отложите это в сторону.(Java) Как определить, какие буквы/цифры/знаки разрешено вводить пользователем?

Я использую scanner.nextLine(), чтобы поймать шестнадцатеричные числа. Мой вопрос заключается в том, как я могу ограничить то, что может быть введено пользователем. Я хочу исключить исключение, если ничего, кроме 0-9 & & a-f был введен.

Благодарим за консультацию.

ответ

1

Компьютеры выполняют математику с двоичным (не десятичным, а не шестнадцатеричным). Вызвать Integer.parseInt(str, 16) в try-catch, если вы получили NumberFormatException, это было недействительным шестнадцатеричным кодированием int.

0

Метод nextInt на классе Scanner, который принимает параметр в качестве параметра. Например:

Scanner sc = new Scanner(System.in); 
int val = sc.nextInt(16); 

После выполнения этого кода, вал должен быть целым числом, при условии, действительный вход шестнадцатеричное. Значение InputMismatchException будет выбрано, если вход не является допустимой базой 16 int.

Смежные вопросы