16進値またはその他の非16進値を想定できる文字列を解析する必要があります
0xff
、0x31
またはA
、、、PC
などlabel
。
このコードを使用して、2つのケースを分割します。
String input = readInput();
try {
int hex = Integer.decode(input);
// use hex ...
} catch (NumberFormatException e) {
// input is not a hex, continue parsing
}
このコードは「醜い」または読みにくいと見なすことができますか?他の(おそらくもっとエレガントな)解決策はありますか?
編集:(私の場合)間違った入力が存在しないことを明確にしたい:それが16進数であるかどうかを区別する必要があるだけです。完全を期すために、 DCPU-16用の単純なアセンブラを作成しています。