Мой ответ похож на ответ jh314, но я объясню немного глубже.
Что вам следует делать в этом случае:
int a = 1;
char b = (char)(a + '0');
System.out.println(b);
Здесь мы использовали «0», потому что символы фактически представлены значениями ASCII. '0' является символом и представлен значением 48.
Мы набрали (a + '0')
и, чтобы сложить их, Java преобразовала «0» в свое значение ASCII, равное 48, а a - 1, поэтому сумма равна 49. Затем мы сделали следующее:
(char)(49)
Мы забросили int
в char
. Эквивалент 49 в кодировке ASCII равен «1». Таким образом вы можете преобразовать любую цифру в char, и это умнее и лучше, чем использование .toString()
метода с последующим вычитанием цифры по .charAt()
методу.
b = (char)('0' + a)
но только для0 <= a <= 9
.