题解 | #字符串加密#
字符串加密
http://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
char[] sig = sc.nextLine().toCharArray();
char[] secret = sc.nextLine().toCharArray();
Map<Character, Character> map = new HashMap<>();
Set<Character> hash = new HashSet<>();
char c_init = 'a';
for (Character ch : sig) {
if (!hash.contains(ch)) {
hash.add(ch);
map.put(c_init++, ch);
}
}
for (char c = 'a'; c <= 'z'; c++) {
if (!hash.contains(c)) {
map.put(c_init++, c);
hash.add(c);
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < secret.length; i++) {
char ch = secret[i];
if (Character.isUpperCase(ch)) {
ch = Character.toLowerCase(ch);
ch = Character.toUpperCase(map.get(ch));
} else {
ch = map.get(ch);
}
sb.append(ch);
}
System.out.println(sb.toString());
}
}}

