gpt4 book ai didi

java - 如何在不使用循环的情况下递归地从给定字符串中删除 char 数组中的所有字符?

转载 作者:行者123 更新时间:2023-12-01 22:16:38 24 4
gpt4 key购买 nike

我正在练习Java教程,我试图从给定的字符串中删除char数组中给出的所有字符(例如数组包含'b','m','w'。目标字符串是“big Workshop”,输出:“ig orkshop”)。但我不能使用循环,我应该递归地执行它。我已经在没有递归的情况下管理它,但没有使用递归。这是我的非递归代码:

char[] testChars={'E', 'i', 'n'}; 
String b = new String(testChars);
...
public static String removeChars(String text)
{
return text.replaceAll("[" + b + "]", "");
}

最佳答案

试试这个,

public class Example
{
public static void main(String[] agrs) {
String input = "big workshop";
char[] charToRemove = {'b', 'm', 'w'};
String charsToRemove = new String(charToRemove);
StringBuilder sb = new StringBuilder();
Example ex = new Example();
ex.removeChar(input, 0, charsToRemove, sb);
System.out.println(sb);

}

public void removeChar(String input, int index, String charToRemove, StringBuilder target) {

if(input.length() == index) {
return;
}

char c = input.charAt(index);
if(charToRemove.indexOf(c) == -1) {
target.append(c);
}

removeChar(input, index + 1, charToRemove, target);

}

}

关于java - 如何在不使用循环的情况下递归地从给定字符串中删除 char 数组中的所有字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com