Recrusive函数生成随机字符串 - 如何增加char?

时间:2016-05-21 11:08:53

标签: java

我需要创建一个recrusive函数来生成一个随机字符串 - 将recrusive设置为以下 - char值 - 从a开始不会增加 - 我做错了什么?

private static String findPasswordTest2(Password p, int length, String testString, char a)
{
    if (p.isPassword(testString))
    {
        return testString;
    }

    if (a!='z')
    {
        findPasswordTest2(p, length, testString, a++);
        findPasswordTest2(p, length, testString+a, a++);
    }

    findPasswordTest2(p, length, testString+a, a);

    if (p.isPassword(testString))
    {
        return testString;
    }

    return "error";
}

1 个答案:

答案 0 :(得分:1)

您应该进行预增量,而不是进行后增量。 使用++时,虽然增加到下一个char,但由于它是后增量,它将返回初始值。 以下列方式进行操作将获得所需的结果:

 findPasswordTest2(p,length,testString,++a);
 findPasswordTest2(p,length,testString+a,++a);