以下是我的代码,它打印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 + ".");
解决方法
简单地将int转换为char
System.out.println((char) 65); // A System.out.println((char) ('A' + 1)); // B System.out.println((int) 'A'); // 65
当心,这是一个天真的问题的原始尝试(或至少是一个不好的话).您的代码段的最后一行已包含您需要的所有内容.也许你只会错过Java中的char是一个整数类型,所以你可以使用char文字与运算符,甚至%
System.out.println((char) ('Z' + 5)); System.out.println((char) ('Z' / 2)); System.out.println((char) ('Z' % 31));