题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); String aEn, bDe; char[] ch1 = new char[] {'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a'}; char[] ch2 = new char[] {'9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}; try { aEn = r.readLine(); bDe = r.readLine(); } catch (IOException e) { throw new RuntimeException(e); } char[] chsEn = aEn.toCharArray(); char[] chsDe = bDe.toCharArray(); char[] ansEn = new char[chsEn.length]; char[] ansDe = new char[chsDe.length]; int i = 0, t = 0; while (i < chsEn.length) { if ((chsEn[i] - 'a' | 'z' - chsEn[i]) > 0) { t = chsEn[i] - 'a' + 1; ansEn[i] = (char) (ch1[t + 1] - 32); } if ((chsEn[i] - 'A' | 'Z' - chsEn[i]) > 0) { t = chsEn[i] - 'A' + 1; ansEn[i] = ch1[t + 1]; } if ((chsEn[i] - '0' | '9' - chsEn[i]) > 0) { t = chsEn[i] - '0' + 1; ansEn[i] = ch2[t + 1]; } i++; } String ans = new String(ansEn); i = 0; do { if ((chsDe[i] - 'a' | 'z' - chsDe[i]) > 0) { t = chsDe[i] - 'a' + 1; ansDe[i] = (char) (ch1[t - 1] - 32); } if ((chsDe[i] - 'A' | 'Z' - chsDe[i]) > 0) { t = chsDe[i] - 'A' + 1; ansDe[i] = ch1[t - 1]; } if ((chsDe[i] - '0' | '9' - chsDe[i]) > 0) { t = chsDe[i] - '0' + 1; ansDe[i] = ch2[t - 1]; } i++; } while (i < chsDe.length); ans = ans + "\n" + new String(ansDe); System.out.print(ans); } }