Я делаю java числовой преобразователь, и всякий раз, когда я пытаюсь использовать мой шестнадцатеричный в десятичный преобразователь, он всегда дает мне java.lang.NumberFormatException
для того, что я печатаю, что я хочу преобразовать. Консоль отображает эту ошибку всякий раз, когда я набираю строковое значение, например, AB C. Как бы я go об исправлении этой ошибки? Ошибка возникает в этой строке: int intNum = Integer.valueOf(numHexadecimal);
в коде.
public static void hexToDecimal() {
System.out.println("Enter your hexadecimal number");
numHexadecimal = input.next();
hexArray = numHexadecimal.toCharArray();
int intNum = Integer.valueOf(numHexadecimal);
int counter = 0;
String hexVal = "";
int digit;
digit = intNum % 16;
switch (digit) {
case 1:
hexVal+="F"; break;
case 2:
hexVal+="E"; break;
case 3:
hexVal+="D"; break;
case 4:
hexVal+="C"; break;
case 5:
hexVal+="B"; break;
case 6:
hexVal+="A"; break;
default:
hexVal+=Integer.toString(digit);
}
intNum = intNum/16;
for (counter = hexVal.length()-1; counter >= 0; counter--)
System.out.print(hexVal.charAt(counter));
}
}