题目
解题思路
解题代码
第一种:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String str1 = scanner.nextLine();
String str2 = scanner.nextLine();
StringBuilder sb = new StringBuilder();
//遍历第一个字符串
for(int i = 0;i < str1.length();i++){
//取出每一个字符
char ch = str1.charAt(i);
//第二个当中不存在这个字符
if(!str2.contains(ch+"")){
//拼接上不存在的字符
sb.append(ch);
}
}
System.out.println(sb.toString());
}
}
第二种:
我们用HashMap来做:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str1 = scanner.nextLine();
String str2 = scanner.nextLine();
HashMap<Character,Integer> map = new HashMap<>();
//遍历第二个字符串
for (int i = 0; i < str2.length(); i++) {
if(map.get(str2.charAt(i)) == null){ //因为Integer是引用类型,所以这里用null
map.put(str2.charAt(i),1);
}else{
map.put(str2.charAt(i),map.get(str2.charAt(i)) + 1); //因为获取的是value,让原有的加一
}
}
String ret = "";
//遍历第一个字符串,把不重复的拼接上
for (int i = 0; i < str1.length(); i++) {
if(map.get(str1.charAt(i)) == null){
ret += str1.charAt(i);
}
}
System.out.println(ret);
}
}