Here's my code below and it prints J=74, A =65, and M=77. How do I get it to print just the characters K, B, N as the result of moving down the alphabet?
BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
String string = JOptionPane.showInputDialog( " Please Enter Code " );
for (int i = 0; i < string.length (); ++i) {
char c = string.charAt(i);
int j = (int)c;
}
System.out.println("ASCII OF "+c +" = " + j + ".");
To convert ASCII to string, use the toString() method. Using this method will return the associated character.
Internally, Java uses the Unicode character set. Unicode is a two-byte extension of the one-byte ISO Latin-1 character set, which in turn is an eight-bit superset of the seven-bit ASCII character set.
ASCII is a 7-bit character set having 128 characters, i.e., from 0 to 127. ASCII represents a numeric value for each character, such as 65 is a value of A. In our Java program, we need to manipulate characters that are stored in ASCII. In Java, an ASCII table is a table that defines ASCII values for each character.
Simply casting int
to char
System.out.println((char) 65); // A
System.out.println((char) ('A' + 1)); // B
System.out.println((int) 'A'); // 65
Beware, this is a raw attempt at a naive problem (or at least a bad spoken one). The last line of your snippet already contains everything you need. Maybe you only miss that char
in Java is really an integer type, so you can use char
literals with operators like +
or even %
System.out.println((char) ('Z' + 5));
System.out.println((char) ('Z' / 2));
System.out.println((char) ('Z' % 31));
I think you have already given ur answer in question itself. You should cast the integer to char as below
int j=77;
char c=(char)j;
System.out.println(c);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With