Hash表从新排序字母表
import java.util.Scanner;
import java.util.Map;
import java.util.HashMap;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
String key = in.nextLine();
String rowString = in.nextLine();
System.out.println(fangjiemai(key, rowString));
}
}
public static String fangjiemai(String key, String rowString) {
Map<Character, Character> map = new HashMap<>();
int count = 0;
for (int i = 0; i < key.length(); i++) {
char temp = Character.toLowerCase(key.charAt(i));
boolean isSuccess = map.containsValue(temp);
if (!isSuccess) {
map.put((char)('a' + count), temp);
map.put((char)('A' + count), Character.toUpperCase(temp));
count = count + 1;
}
}
for (char i = 'a'; i <= 'z'; i++) {
boolean isSuccess = map.containsValue(i);
if (!isSuccess) {
map.put((char)('a' + count), i);
map.put((char)('A' + count), Character.toUpperCase(i));
count = count + 1;
}
}
map.put(' ', ' ');
StringBuffer sb = new StringBuffer();
for (int i = 0; i < rowString.length(); i++) {
sb.append(map.get(rowString.charAt(i)));
}
return sb.toString();
}
}