在Java中将ASCII代码转换为char

use*_*295 12 java

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

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 + ".");
Run Code Online (Sandbox Code Playgroud)

Raf*_*ele 15

简单地投射intchar

System.out.println((char) 65);        // A
System.out.println((char) ('A' + 1)); // B
System.out.println((int) 'A');        // 65
Run Code Online (Sandbox Code Playgroud)

要注意,这是一个天真的问题的原始尝试(或至少是一个糟糕的说话).您的代码段的最后一行已包含您需要的所有内容.也许你只是想念char在Java中它实际上是一个整数类型,所以你可以使用char类似+甚至是运算符的文字%

System.out.println((char) ('Z' + 5));
System.out.println((char) ('Z' / 2));
System.out.println((char) ('Z' % 31));
Run Code Online (Sandbox Code Playgroud)


Moh*_*gal 6

我想你已经在问题本身给出了答案.您应该将整数转换为char,如下所示

    int j=77;
    char c=(char)j;
    System.out.println(c);
Run Code Online (Sandbox Code Playgroud)