/* * 时间: 2021-04-27 * 题目分析: * 1. 给定一个单词, 删除重复的字符(保留第1个) * 2. 通过该单词形成加密表 * 3. 查找转换即可 */ import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { LinkedHashSet<Integer> set = new LinkedHashSet<Integer>(); String word = sc.nextLine(); for (int i = 0; i < word.length(); i++) { set.add((int)Character.toUpperCase(word.charAt(i))); } for (int i = 0; i < 26; i++) { set.add('A' + i); } int[] table = new int[26]; int cursor = 0; for (int i: set) { table[cursor++] = i; } String msg = sc.nextLine(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < msg.length(); i++) { char ch = msg.charAt(i); if (ch >= 'A' && ch <= 'Z') { sb.append((char)table[ch - 'A']); } else if (ch >= 'a' && ch <= 'z') { sb.append((char)Character.toLowerCase(table[ch - 'a'])); } else { sb.append((char)ch); } } System.out.println(sb); } } }