有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我完成了在作业要求的位置查找字符的部分,但是如何从我找到的字符串中删除字符呢?

removeNchars获取一个字符串、一个int和一个char并返回一个字符串:输出字符串与输入字符串相同,只是输入字符的前n个匹配项从字符串中删除,其中n表示输入整数。如果输入字符未出现n次,则删除该字符的所有出现。不要使用arrays来解决此问题

HW2.removeNchars("Hello there!", 2, 'e') "Hllo thre!"

HW2.removeNchars("Hello there!", 10, 'e') "Hllo thr!"

HW2.removeNchars("Hello there!", 1, 'h') "Hello tere!"

public class HW2{   
    public static String removeNchars(String s, int a, char b){
       StringBuilder s = new StringBuilder();
       for(int i = 0; i<s.length(); i++){
           if(int i=a&& s.charAr(i)==b){
           }          
       }              
    }

}

共 (3) 个答案

  1. # 1 楼答案

    有不止一种方法可以做到这一点。 我看到你用了StringBuilder所以试试this

    其思想是定义字符串生成器

    StringBuilder sb = new StringBuilder(inputString);
    

    使用deleteCharAt()删除您不想要的字符(docs

    并将其转换回字符串

    String resultString = sb.toString();
    

    祝你好运

    编辑:

    您还可以创建一个新的StringBuilder(例如name output),然后迭代src字符串,并使用.append(input);将您不想删除的字符附加到输出字符串中

    比如:

     StringBuilder output = new StringBuilder();
     output.append(char);
    

    并在完成迭代后返回输出字符串

  2. # 2 楼答案

    我不知道你为什么要使用StringBuilder类,但正如你前面所说的,我认为这将帮助你完成家庭作业,让我们看看它是否适合你

    public static String removeNchars(String s, int a, char b){
           String str = "";
               for(int i = 0; i < s.length(); i++){
                    if(a > 0 && s.charAt(i) == b)
                      {
                           a ;
                      }else 
                      {
                          str += s.charAt(i);
                      }
    
          }
          return str;
    
    }
    
  3. # 3 楼答案

    你可以这样使用s.deleteCharAt();

    public class HW2{   
        public static String removeNchars(String s, int a, char b){
            StringBuilder s = new StringBuilder();
            for(int i = 0; i<s.length(); i++){
                if(int i=a&& s.charAr(i)==b)
                    s.deleteCharAt(i);
            }
        }
    }