Java 字符串索引错误

Java 字符串索引错误,java,error-handling,stringbuilder,Java,Error Handling,Stringbuilder,我不断收到一个错误,指出我的字符串索引在String.charAt、PasswordGenerator.matchCharAt和Driver.main处超出范围。我不知道那到底是什么意思。此外,我的字符不会附加到我已经实例化的stringbuilder类的一行。我想知道这可能是由字符串索引错误引起的,还是我的错 public class Driver { public static void main(String[] args) { int length=0;

我不断收到一个错误,指出我的字符串索引在String.charAt、PasswordGenerator.matchCharAt和Driver.main处超出范围。我不知道那到底是什么意思。此外,我的字符不会附加到我已经实例化的stringbuilder类的一行。我想知道这可能是由字符串索引错误引起的,还是我的错

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++;                                     // length is randomly picked
        } while (length < MaxNumber );   // or <100

        int index = 0;
        char f = 0;

        for (int d = 0; d < 127 || ; d++) {
            if  (PasswordGenerator.matchCharAt(f, index))
                d = (char) index;
            char aChar = (char)d;
            password.append(aChar);
            System.out.println("Password is: " + aChar);
            index++;

        }
    }
}
公共类驱动程序{
公共静态void main(字符串[]args){
整数长度=0;
int MaxNumber=100;
StringBuilder密码=新建StringBuilder();
做{
if(PasswordGenerator.matchLength(长度))
System.out.println(“字符长度为“+长度”);
长度+++;//长度是随机选取的

}while(lengthidx
将在0和127之间变化。来自
PasswordGenerator
的密码可能没有那么长。例如,在询问索引57是否匹配之前,必须询问57是否小于密码的长度

因此,您的任务是猜测生成器保存的密码?然后您应该执行以下操作:

Get to know the length of the password.
For each index from 0 upto but excluding the length:
    Guess the character at that index.

修复我的代码时还需要任何批评。(:请粘贴问题中的确切错误该代码中没有一个字符串(println除外)。还请显示您获得的PasswordGenerator和异常堆栈跟踪。这是我文件夹中类的文档…此
用于(int d=0;d<127 | | | d++)
不是有效的Java语法,在
|
之后应该有一些内容。此外,您不应该像这里一样更改
循环的
循环变量的值:
d=(char)索引
。我已经有了长度。你想让我发布我所有的代码吗?好吧,你没有真正的长度。你打印出来了,但是你下面的代码不能问长度是多少?它应该可以问,这样你就可以有这样一个循环:
for(int index=0;index