1 题目
2 代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class B1029 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String oneStr = br.readLine();
String twoStr = br.readLine();
ArrayList<Character> res = new ArrayList<>(); // 将正确的文字保存在List中
for (int i = 0; i < oneStr.length(); i++) {
res.add(oneStr.charAt(i));
}
for (int i = 0; i < twoStr.length(); i++) { // 遍历整个实际输入的文字,如果List中存在就删掉,剩下的就是坏掉的键
if (res.contains(twoStr.charAt(i))) {
int num = res.indexOf(twoStr.charAt(i));
res.remove(num);
}
}
HashSet<Character> set = new LinkedHashSet<>(); // Set去重复且有序排序,注意将小写英文字母转换成大写的英文字母
for (int i = 0; i < res.size(); i++) {
set.add(Character.toUpperCase(res.get(i)));
}
for (Character c : set) {
System.out.print(c);
}
}
}
3 要点
(1)这道题中所涉及的List、Set和字符串的各类方法都值得学习。