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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?