rambless
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String key = in.nextLine();
String str = in.nextLine();
//key中重复字母只保留第一个
String keys = "";
for(int i=0; i<key.length(); i++) {
if(keys.indexOf(key.substring(i, i+1))==-1) {
keys += key.substring(i, i+1);
}
}
//构造字母表
List<Character> sma = new ArrayList<>(26);
List<Character> big = new ArrayList<>(26);
char[] arr = keys.toCharArray();
for(int i=0; i<arr.length; i++) {
if(arr[i]>=65 && arr[i]<=90) {
sma.add((char)(arr[i] + 32));
big.add(arr[i]);
} else {
sma.add(arr[i]);
big.add((char)(arr[i] - 32));
}
}
for(int i=65; i<91; i++) {
if(!big.contains((char)i)) {
big.add((char)i);
sma.add((char)(i+32));
}
}
char[] array = str.toCharArray();
String result = "";
for(int i=0; i<array.length; i++) {
char a;
if(array[i]>=65 && array[i]<=90) {
a = big.get(array[i]-65);
} else {
a = sma.get(array[i]-97);
}
result += a + "";
}
System.out.println(result);
}
}
}