Minha resposta é semelhante à resposta de jh314, mas vou explicar um pouco mais a fundo.
O que você deve fazer neste caso é:
int a = 1;
char b = (char)(a + '0');
System.out.println(b);
Aqui, usamos '0' porque os caracteres são realmente representados por valores ASCII. '0' é um caractere e representado pelo valor de 48.
Digitamos (a + '0')
e, para adicioná-los, o Java converteu '0' em seu valor ASCII, que é 48 e a é 1, então a soma é 49. Então, o que fizemos é:
(char)(49)
Nós escalado int
para char
. O equivalente ASCII de 49 é '1'. Você pode converter qualquer dígito em char dessa maneira e é mais inteligente e melhor do que usar o .toString()
método e subtrair o dígito por .charAt()
método.
b = (char)('0' + a)
mas apenas para0 <= a <= 9
.