Преобразование кода ASCII в char в 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 + ".");
Ответы
Ответ 1
Простое литье int
до char
System.out.println((char) 65); // A
System.out.println((char) ('A' + 1)); // B
System.out.println((int) 'A'); // 65
Остерегайтесь, это грубая попытка наивной проблемы (или, по крайней мере, плохой разговор). Последняя строка вашего фрагмента уже содержит все необходимое. Возможно, вы только пропустите, что char
в Java действительно является целым типом, поэтому вы можете использовать литералы char
с операторами типа +
или даже %
System.out.println((char) ('Z' + 5));
System.out.println((char) ('Z' / 2));
System.out.println((char) ('Z' % 31));
Ответ 2
Я думаю, что вы уже дали ур ответ в самом вопросе.
Вы должны указать целое число char, как показано ниже
int j=77;
char c=(char)j;
System.out.println(c);
Ответ 3
Вы имеете в виду?
for (int i = 0; i < string.length (); ++i) {
char c = string.charAt(i);
c++; // next character.
System.out.print(c);
}