sinat_34794545 2016-04-26 07:00 采纳率: 0%
浏览 6962

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

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条回答 默认 最新

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

    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作