Мне нужно проанализировать строку, которая может принимать шестнадцатеричные значения или другие не -шестнадцатеричные значения
0xff
., 0x31
или A
, PC
, label
и так далее.
Я использую этот код, чтобы разделить два случая:
String input = readInput();
try {
int hex = Integer.decode(input);
// use hex...
} catch (NumberFormatException e) {
// input is not a hex, continue parsing
}
Можно ли считать этот код «уродливым» или трудным для чтения? Существуют ли другие (, может быть, более элегантные )решения?
РЕДАКТИРОВАТЬ :Я хочу уточнить, что (в моем случае)неправильного ввода не существует:мне просто нужно различить, является ли это шестнадцатеричным числом или нет. И просто для полноты картины я делаю простой ассемблер для DCPU -16 .