Я хотел бы получить значение int элемента из матрицы String.

Моя задача - реализовать простейшую версию Uniqual (https: //www.chiark.greenend.org.uk/~sgtatham/puzzles/js/unequal.html) с некоторым алгоритмом поиска по дереву или графику.

Вот почему я подумал о реализации таблицы как строки, так как она может содержать как символы, так и цифры.

Я уже попробовал этот метод: Character.isDigit (matrix [i] .charAt (j)) для моей проблемы. Я думаю, это не правильный способ сделать это. Возможно, если я получу значение char элемента, я смогу реализовать простую функцию, которая проверяет, является ли это число, цифра или специальный символ.

0
Tomeek 29 Май 2019 в 16:48

2 ответа

Лучший ответ

Я думаю, это то, что вы ищете -

char c = matrix[i].charAt(j);
int cVal = Character.getNumericValue(c);

Я предпочитаю этот метод, потому что если c='1', cVal = 1.

1
Aniruddha Tekade 29 Май 2019 в 14:16

Character.isDigit(matrix[i].charAt(j)) просто говорит вам, является ли символ цифрой. Чтобы получить значение от символа, просто вычтите значение символа 0

int val = (int) (matrix[i].charAt(j) - (int)'0');
0
ControlAltDel 29 Май 2019 в 13:53