+ 2
cast int to char cant output directly.
I can output a char, I can convert an integer to a char without any errors, and I can convert an integer to a char then convert it back to output that with no problems. But when I try to cast an integer to char, I can't output that. The code explains much better but can anybody explain this? UPDATE: I get the same problem in c#, shown below. Same with c++. https://code.sololearn.com/cN15zA5D7fO3/?ref=app https://code.sololearn.com/csydPL5rGLrU/?ref=app https://code.sololearn.com/cuF6VOnjzI3r/?ref=ap
4 Answers
+ 3
The problem is actually simple.
I'm just going to stay with Java for now:
When you call "(char) 1" the program converts the 1 to an ASCII code. In other words it will use it as a character code.
It becomes clearer when you type this instead:
"(char) 50" this will give the output "2"
The third time you're using (char) 1 then (int) n, you're getting the ASCII character from 1 then getting the integer back again.
I hope this cleared a few things up
+ 2
That makes sense, thank you
+ 2
Oh, you can use Integer.toString(1).charAt(0) to get the Integer as a character. There's probably a faster way around this
+ 1
Another update: Tried it in visual studio with c# and got same result except showed a question mark symbol. So this is not a bug or anything. Is there something I don't know about?