一、题目描述
输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符。
例如:输入 “ They are student ” 和 “ aeiou ”,则删除之后的第一个字符窜啊变成 “Thy r srdnts”;
二、思路分析
1、首先,需要定义一个空字符串来保存最后的结果;
2、再定义一个标志位,来判断第二个字符串中是否包含第一个字符串的字符;
3、循环遍历第一个字符串,用其每一个字符和第二个字符串中的字符进行比较,
a)当有相等的字符时,标志位就为真,结束第二个字符串的遍历,当标志位为真时,就结束当前循环,进入下一个循环;
b)当没有相等字符或标志位为假时,说明第二个字符串不包含第一个字符串中的字符,就将此字符加到空字符串中;
三、我的代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String s1 = sc.nextLine();
String s2 = sc.nextLine();
System.out.println(func(s1, s2));
}
}
private static String func(String s1, String s2) {
String ret = "";
boolean flg = false; // 标志位
for (int i = 0; i < s1.length(); i++) {
char tmp = s1.charAt(i);
flg = false;
for (int j = 0; j < s2.length(); j++) {
if (tmp == s2.charAt(j)) {
flg = true;
break;
}
}
if (flg) {
continue;
}
ret = ret + tmp;
}
return ret;
}
}