题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Scanner;
import java.util.stream.Collectors;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String nextLine = in.nextLine();
if (Objects.isNull(nextLine) || nextLine.equals("")) {
break;
}
String str = in.nextLine();
List<String> stringList = new ArrayList<>();
for (int i = 'A'; i <= 'Z'; i++) {
stringList.add((char) i + "");
}
// System.out.println(stringList);
List<String> collect = nextLine.chars()
.mapToObj(item -> ("" + (char) item).toUpperCase())
.distinct()
.collect(Collectors.toList());
List<String> subList = stringList.stream()
.filter(item -> !collect.contains(item))
.collect(Collectors.toList());
collect.addAll(subList);
Map<String, String> map = new HashMap<>();
for (int i = 0; i < stringList.size(); i++) {
map.put(stringList.get(i), collect.get(i));
}
// System.out.println(map);
System.out.println(str.chars()
.mapToObj(item -> ("" + (char) item).toUpperCase())
.map(item -> {
if (Objects.nonNull(map.get(item))) {
return map.get(item)
.toLowerCase();
}
return item.toLowerCase();
})
.collect(Collectors.joining()));
}
}
}
