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 + ".");
解决方案
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));