题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
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 a, b;
try {
a = r.readLine();
b = r.readLine();
} catch (IOException e) {
throw new RuntimeException(e);
}
char[] key = a.toCharArray();
char[] inp = b.toCharArray();
char[] arr = new char[26];
int[] rep = new int[26];//判断是否重复的数组
int i = 0, j = 0, indx, l = key.length;
do {
indx = key[i] - 'a';
if (rep[indx] == 0) {//如果key中第i个字符没有被放入arr,就放入arr
arr[j++] = key[i];
rep[indx] = 1;
}
i++;
} while (i < l);
i = 0;
do {//将剩余字母表中的字符存入arr
if (rep[i] == 0) arr[j++] = (char) (i + 'a');
i++;
} while (i < 26);
i = 0;
l = inp.length;
do {
indx = inp[i] - 'a';
inp[i] = arr[indx];//根据索引将输入的字符进行替换
i++;
} while (i < l);
System.out.print(new String(inp));
}
}



