题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import java.util.Scanner; import java.util.HashMap; import java.util.LinkedHashSet; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); String key = input.nextLine(); String string = input.nextLine(); LinkedHashSet<Character> charset = new LinkedHashSet<>(); //对输入的密钥去重 for (int i = 0; i < key.length(); i++) { if (i == key.indexOf(key.charAt(i))) { charset.add(key.charAt(i)); } } int i = 97; int j = 97; //补全密钥 while (charset.size() < 26) { charset.add((char) i); i++; } HashMap<Character, Character> hashMap = new HashMap<>(); //使用map保存密钥对应关系 for (Character character : charset) { hashMap.put((char) j, character); j++; } for (char c : string.toCharArray()) { System.out.print(hashMap.get(c)); } } }