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