//利用HashMap存储加密表 import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s=in.nextLine().toLowerCase(); int[] table1=new int[26];//初始全0的数组,用于去重,将第一次遇到的字母对应数组下标位置元素赋值1锁住 Map<Character,Character> map=new HashMap<>(26);//加密表 int i=0,j=0; while(i<s.length()){//处理字母表底串并加入map,字母转ASCLL码值方便计算 int x=(int)s.charAt(i)-97; if(table1[x]==0){ table1[x]=1; map.put((char)(97+j),s.charAt(i)); j++; } i++; } i=0; while(i<26){//将map补全 if(!map.containsValue((char)(97+i))){//即从a开始查询map.value,不在则加入map中,同时注意key值延续处理底串时的key map.put((char)(97+j),(char)(97+i)); j++; } i++; } String t=in.nextLine(); i=0; while(i<t.length()){ System.out.print(map.get(t.charAt(i))); i++; } } }