質問: Javaで入力値を10進数から16進数に変換するプログラムを作成しています。
回答: Integer.parseInt() 整数範囲外場合と基数で使えない文字が含まれる場合は同じ例外となって区別できません。簡単に行うなら、範囲外文字の判定を別途行えばよいです。 try { if(s.matches("[0-9]+") == false) { // invalid character } else { r = Integer.parseInt(s, 10); // OK } } catch (NumberFormatException e) { // out of range } この例では負数に対応してないので必要なら '-' で始まる文字列を受理する正規表現にしてください。