ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,例如当前为A,编码后变成N,当前为B,编码后变成O,以此类推顺序循环。package com.what21;
import java.io.IOException;
public class Rot13 {
public static void main(String[] args) throws IOException {
System.out.println("rot13/rot5 example");
System.out.println("Please enter text to be encoded/decoded ...");
while (true) {
if (System.in.available() != 0) {
int chr = System.in.read();
// convert char if required
if ((chr >= 'A') && (chr <= 'Z')) {
chr += 13;
if (chr > 'Z')
chr -= 26;
} else if ((chr >= 'a') && (chr <= 'z')) {
chr += 13;
if (chr > 'z')
chr -= 26;
} else if ((chr >= '0') && (chr <= '9')) {
chr += 5;
if (chr > '9')
chr -= 10;
}
// and return it to sender
System.out.print((char) chr);
}
}
}
}