Невозможно вставить шестнадцатеричную строку в массив int

1
int[] myArray= new int[16];
myArray[i] = Integer.parseInt("0x6a");

Я получаю Exception in thread "main" java.lang.NumberFormatException: For input string: "6a" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at Duncin.Main.main(Main.java:72)

Хотя я видел такие рабочие места, как этот.

private final int[] myArray = new int[]{ 0x57, 0x49, 0xd1, 0xc6, 0x2f };
  • 0
    Хотели бы вы разобрать массив двухзначных шестнадцатеричных строк или одну строку сцепленных двухзначных шестнадцатеричных значений в массив int? И если да, то вы используете Java 8?
Теги:
hex

1 ответ

3
Лучший ответ

Разбор в качестве основы 16:

myArray[i] = Integer.parseInt("6a", 16);

Единственный аргумент parseInt пытается проанализировать десятичное число.

Кроме того, удалите "0x".

  • 0
    все то же исключение
  • 1
    Вы также должны избавиться от 0x . Просто поставьте "6a" качестве строки
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню