Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java程序中的ArrayIndexOutOfBoundsException错误,我不知道';我不知道如何修理它_Java_Arrays_Indexoutofboundsexception - Fatal编程技术网

Java程序中的ArrayIndexOutOfBoundsException错误,我不知道';我不知道如何修理它

Java程序中的ArrayIndexOutOfBoundsException错误,我不知道';我不知道如何修理它,java,arrays,indexoutofboundsexception,Java,Arrays,Indexoutofboundsexception,我正在创建一个程序,该程序当前正在将字符串数组的元素与用户输入的字符串进行匹配,而我遇到的问题是,如果用户在数组中拼错了一个可用的单词,我如何给出最接近的建议(在下面的程序中,如果来自输入的六个字母与其中一个数组元素的字母相同,那么这就是我出错的代码段): int t = 0; LoopB: while (t < 1) { for (int i = 0; i <= langs.length; i++) { Scanner convLangs = new Sca

我正在创建一个程序,该程序当前正在将字符串数组的元素与用户输入的字符串进行匹配,而我遇到的问题是,如果用户在数组中拼错了一个可用的单词,我如何给出最接近的建议(在下面的程序中,如果来自输入的六个字母与其中一个数组元素的字母相同,那么这就是我出错的代码段):

int t = 0;
LoopB: while (t < 1) {
    for (int i = 0; i <= langs.length; i++) {
        Scanner convLangs = new Scanner(langs[i]);
        while (! search.equalsIgnoreCase(langs[i])) {
            for (int j = 0; j <= langs[i].length(); j++) {
                while (convSch.hasNext()) {
                    String cS = convSch.next();
                    if (cS.equalsIgnoreCase(convLangs.next())) {
                        c++;
                        if (c == 6) {
                            System.out.println("Did you mean \"" + langs[i] + "\"? Yes or no?");
                            String confirm = console.next();
                            if (confirm.equalsIgnoreCase("yes")) {
                                System.out.println(langs[i]);
                                break LoopB;
                            } else if(confirm.equalsIgnoreCase("no")) {
                                System.out.println("Please check the spelling of your search and try again.");
                                String redo = console.next();
                                search = redo;
                            }
                        }
                    }
                }
            }
        }
    }
}
int t=0;
LoopB:while(t<1){

对于(int i=0;i你绝对应该使用“1)Post an.2)
ArrayIndexOutOfBoundsException
最好通过调试来解决。如果你使用的是Eclipse,但不知道如何调试,我可以帮你。我使用的是Java,关于Java博士(我不确定这是否回答了你的问题;我从来没有听说过与编程相关的“Eclipse”),什么是“MCVE”?你在我的评论中看不到MCVE的链接吗?我从未使用过Dr.Java,但你必须学会如何调试,即使for循环从零开始?我去掉了所有的“
是因为我不想再次编写您的整个代码。括号定义了在一次迭代中需要执行的操作的范围。重点是如何进行正确的for循环,而不是在循环中需要执行的操作。为了解决错误,您需要提供一些我们可以编译的代码,可能还有堆栈tra你的异常的ce…啊,我明白了。我确实修复了所有循环,使其看起来像你的示例,但它仍然给我相同的错误消息。它编译得很好(现在我知道了“{…}”是什么),当我发布上述代码时它也做了,它只是继续给我“ArrayIndexOutOfBoundsException”错误,我不知道会发生在哪里。每个循环都从零开始,我试过“你能把错误的堆栈跟踪添加到你的问题中吗?”?
for(int i = 0; i < langs.length; i++) { ... }
for(int i = langs.length - 1; i >= 0; i--) { ... }