题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); String key = sc.nextLine(); char[] c = key.toCharArray(); StringBuilder sb = new StringBuilder(); for(int i = 0;i < key.length();i++){ //判断第一次出现和最后一次出现位置是否相同 if(key.indexOf(c[i]) == key.lastIndexOf(c[i])){ sb.append(c[i]); }else{ //重复时,添加第一次出现时的字符 if(key.indexOf(c[i]) == i){ sb.append(c[i]); } } } char temp = 'a'; while(temp<='z'){ if(!key.contains(String.valueOf(temp))){ sb.append(temp); } temp += 1; } StringBuilder res = new StringBuilder(); String pw = sb.toString(); String s = sc.nextLine(); char[] cs = s.toCharArray(); for(int i = 0;i < cs.length;i++){ int index = 0; //计算在正常字母表中的位置 index = (int)(cs[i] - 'a'); res.append(pw.charAt(index)); } System.out.println(res.toString()); } }