Moja odpowiedź jest podobna do odpowiedzi jh314, ale wyjaśnię trochę głębiej.
W takim przypadku powinieneś zrobić:
int a = 1;
char b = (char)(a + '0');
System.out.println(b);
Tutaj użyliśmy „0”, ponieważ znaki są w rzeczywistości reprezentowane przez wartości ASCII. „0” to znak oznaczony wartością 48.
Wpisaliśmy (a + '0')
i aby je dodać, Java przekonwertowała „0” na wartość ASCII, która wynosi 48, a a wynosi 1, więc suma wynosi 49. Następnie zrobiliśmy:
(char)(49)
Zarzuciliśmy int
do char
. Odpowiednik 49 w ASCII to „1”. Możesz przekonwertować dowolną cyfrę na znak w ten sposób i jest to mądrzejszy i lepszy sposób niż użycie .toString()
metody, a następnie odjęcie cyfry według .charAt()
metody.
b = (char)('0' + a)
ale tylko dla0 <= a <= 9
.