Top.Mail.Ru
Ответы

Вопрос по java newGuess[i] = temp.charAt(i)-'0' ; что делает -'0' ?

int guess = 12345;
String temp = Integer.toString(guess);
int[] newGuess = new int[temp.length()];
for (int i = 0; i < temp.length(); i++)
{
newGuess[i] = temp.charAt(i)-'0' ;
System.out.println(newGuess[i]);
}

По дате
По рейтингу
Аватар пользователя
Профи

-'0' преобразует символ в его числовое значение. В данном случае, temp.charAt(i) возвращает символ, представляющий цифру, а вычитание '0' конвертирует его в соответствующее целочисленное значение.

Например, если символ '5' имеет числовое значение 53 (в кодировке ASCII), после вычитания '0' получится значение 5.

Таким образом, строковое значение числа преобразуется в массив целочисленных значений цифр этого числа.