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--) { ... }