package lab;
/**
*
- @author Administrator */ import java.util.Scanner;
public class Lab {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner scan = new Scanner(System.in);
System.out.print("请输入原字符串:");
String s = scan.nextLine();//字符串
StringBuffer sNew = new StringBuffer(s);//把输入的字符串类型从String转化为StringBuffer
System.out.print("请输入待删除字符:");
char a = scan.nextLine().charAt(0);//字符
for (int i = 0; i < s.length(); ++i) {
if (a >= 'a' && a <= 'z' && a == s.charAt(i)) {
String str = s.replace((char) (a - 32), a);//把满足要求的替换成a,前面已经定义过s,所以定义str,我认为两者相同,字符串
sNew = new StringBuffer(str);//把str转化成StringBuffer类,前面已经定义过sNew类型,字符串
}
if (a >= 'A' && a <= 'Z' && a == s.charAt(i)) {
String str = s.replace((char) (a + 32), a);//满足要求的替换成a,字符串
sNew = new StringBuffer(str);//把str转化成StringBuffer类,字符串
}
}
StringBuffer s1 = new StringBuffer("");//初始化定义StringBuffer类s1
for (int i = 0; i < s.length(); ++i) {//sNew,s1
if (sNew.charAt(i) != a) {
s1.append(sNew.charAt(i));
}
}
System.out.println("删除后的结果:" + s1);
System.out.println("共删除"+(sNew.length()-s1.length())+"个字符"+a);
}
}
是不是复杂化了,写的时候感觉混乱。