收到错误消息-“ java.base / java.lang.StringConcatHelper.simpleConcatStringConcatHelper.java:421”

问题描述

大家好,我正在编写一个“生成所有括号”程序,并且收到错误消息:- ” java.base / java.lang.StringConcatHelper.simpleConcat(StringConcatHelper.java:421) “

与此同时,我收到堆栈溢出错误

我附有此错误的代码,请查看并告诉我修改的必要内容:-

public class j{
public static void main(String[] args){
    int n = 2;
    int open = n;
    int close = n;
    String op = " ";
    findAns(op,open,close);
}
private static void findAns(String op,int open,int close){
    if (open == 0 && close == 0){
        System.out.println(op);
    }
    
    if (open == close){
        String op1 = op + "(";
        findAns(op1,open - 1,close);
        return;
    }
    if (open != 0){
        String op1 = op + "(";
        open = open - 1;
        findAns(op1,close);
    }
    String op1 = op + ")";
    close = close - 1;
    findAns(op1,close);
    return;
}   }

解决方法

您需要递归的退出条件。也许是这样吗?

if (open == 0 && close == 0){
    System.out.println(op);
--> return;
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...