在Java中将ASCII代码转换为char

在Java中将ASCII代码转换为char

问题描述:

这是我下面的代码,它打印J = 74,A = 65,M = 77。如何通过向下移动字母表来打印字符K,B,N?

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 + ".");


只需转换 int char

System.out.println((char) 65);        // A
System.out.println((char) ('A' + 1)); // B
System.out.println((int) 'A');        // 65

请注意,这是对天真问题的原始尝试(或者至少说得不好)。您的代码段的最后一行已包含您需要的所有内容。也许你只是错过了Java中的 char 实际上是一个整数类型,所以你可以使用 char 文字与 + 甚至

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));