我需要编写一个方法,用字符串生成器(使用递归)替换字符串启动器中的每个“ F”。这是我的镜头,但似乎无法正常工作:

public String nextGeneration(String initiator, String generator)
{
    String result2 = "";
    if (initiator=="F")
    {
        result2 = generator;
    }
    else
    {
        if (initiator.substring(0,0)=="F")
        {
            result2 = generator + nextGeneration(initiator.substring(1,initiator.length()), generator);
        }
        else if (initiator.substring(0,0)=="+")
        {
            result2 = "+" + nextGeneration(initiator.substring(1,initiator.length()), generator);
        }
        else if (initiator.substring(0,0)=="-")
        {
            result2 = "-" + nextGeneration(initiator.substring(1,initiator.length()), generator);
        }
    }
    return result2;
}


有什么建议?

最佳答案

不要使用==比较字符串,请使用string1.equals(string2)

string1 == string2测试两个引用是否引用内存中的同一对象,而不是它们的字符串内容值是否相等。

10-07 19:52