gpt4 book ai didi

java - 为什么我不断收到堆栈溢出错误?为什么我的函数返回第一个值?当 start != 最后一个值时

转载 作者:行者123 更新时间:2023-12-01 17:46:18 24 4
gpt4 key购买 nike

这是一个问题:编写一个递归方法,从固定大小的字符串中删除所有连续出现的字母。例如。 “AAAbbCCCC”变为“AbC”

我的代码:

public static String NoRepeats(String n, int start) {
String x = "";
if(start == n.length()-1) {
return x;
}
if(n.charAt(start) == n.charAt(start+1)) {
return NoRepeats(n, start+1);
}
else {
x += n.charAt(start);
return NoRepeats(n,start+=1);
}
}

最佳答案

好吧,所以我不确定为什么它只会返回一个空字符串,所以我摆弄了语法。仅供引用 字符串 n =“AAAABBBBCCCCDDDD”在我的递归步骤中,我无法使用“start++或start +1”,它仅在“start +=1”时才有效。这将纠正它。这是我的新代码:

public static String NoRepeats(String n, int start) {
String x = "";
if(start == (n.length()-1)) {
x += n.charAt(start);
return x;
}
if(n.charAt(start) == n.charAt(start+1)) {
return NoRepeats(n, start+=1);
}
else {
x += n.charAt(start);
return x +NoRepeats(n,start+=1);
}
}

关于java - 为什么我不断收到堆栈溢出错误?为什么我的函数返回第一个值?当 start != 最后一个值时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897401/

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