0
public class Driver {

public static void main(String[] args) {


    int length=0;
    int MaxNumber=100;
    StringBuilder password = new StringBuilder();



    do {
        if (PasswordGenerator.matchLength (length))
            System.out.println("The length of the character is " + length);
        length++;
    } while (length < MaxNumber);

    do {
        if (PasswordGenerator.matchCharAt (password))
            System.out.println("The password is " + password);
    } while (  );



}
}

我的代码应该找到给定密码的长度,它已经做到了。然后下一步应该通过将每个单独的字符附加到 Stringbuilder 来确定密码。

但无论如何我一直收到一个错误

类 PasswordGenerator 中的方法 matchCharAt 不能应用于给定类型:必需:char、int 找到:StringBuilder 原因:实际参数列表和形式参数列表的长度不同*

任何帮助都是极好的!

PS 密码生成器是一个“编造”类,如果您需要文档,我可以发布它。

4

2 回答 2

1

错误代码清楚地说,您使用了错误的参数:

method matchCharAt in class PasswordGenerator cannot be applied to given types: Required: char, int Found: StringBuilder Reason: Actual and formal argument lists differ in length

您需要提供两个参数:第一个char,第二个int

这个问题听起来和闻起来像家庭作业。如果是这样:请将其标记为作业。

于 2012-04-27T14:37:35.670 回答
0

StringBuilder 类似于字符串,但不一样。它缓冲一个长度,这样您就可以在不创建一堆额外字符串的情况下进行连接(因为字符串是不可变的)。

看起来您实际上并未在该方法的任何地方使用 StringBuilder,我建议您在PasswordGenerator.matchCharAt()方法中定义它并返回完整的密码字符串。

我们需要 PasswordGenerator 的文档,以便在您的任务限制范围内获得更具体的信息。

于 2012-04-27T14:40:06.533 回答