我需要创建一个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";
}
答案 0 :(得分:1)
您应该进行预增量,而不是进行后增量。 使用++时,虽然增加到下一个char,但由于它是后增量,它将返回初始值。 以下列方式进行操作将获得所需的结果:
findPasswordTest2(p,length,testString,++a);
findPasswordTest2(p,length,testString+a,++a);