sinat_34794545
sinat_34794545
2016-04-26 07:00
采纳率: 8.3%
浏览 6.6k

从键盘输入一个字符串和一个字符,从字符串中删除全部该字符(如果是字母,大小写都删除)

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);

}

}
是不是复杂化了,写的时候感觉混乱。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • w172087242
    little_how 2016-04-26 09:55

    缺失复杂了。
    public static void main(String[] args) {
    // TODO code application logic here
    Scanner scan = new Scanner(System.in);
    System.out.print("请输入原字符串:");
    String s = scan.nextLine();//字符串
    System.out.print("请输入待删除字符:");
    String ss = scan.nextLine();
    if(ss.length()>1) ss = ss.substring(0, 1);
    String result = s.replaceAll(ss.toLowerCase()+"|"+ss.toUpperCase(), "");
    System.out.println("删除后的结果:" + result);
    System.out.println("共删除"+(s.length()-result.length())+"个字符"+ss);

    }
    
    点赞 评论
  • oSanYeCao1234567
    RoidCoder 2016-09-15 11:15

    调用String方法的replcaeAll即可全部替换

    点赞 评论

相关推荐