gpt4 book ai didi

java - 线程 "main"java.lang.ArrayIndexOutOfBoundsException : 65 中的异常

转载 作者:行者123 更新时间:2023-11-29 04:53:40 29 4
gpt4 key购买 nike

我有这个基本的 Java 代码:

class Rueda {
public static void main (String[] args) {
String frase[] = {"TODA CUESTION TIENE DOS PUNTOS DE VISTA", "EL EQUIVOCADO Y EL NUESTRO",
"TODAS LAS MUJERES TIENEN ALGO HERMOSO", "AUNQUE SEA UNA PRIMA LEJANA",
"SE ESTA MURIENDO GENTE", "HE OIDO HABLAR TAN BIEN DE TI", "QUE CREIA QUE ESTABAS MUERTO",
"RECUERDA SIEMPRE QUE ERES UNICO", "EXACTAMENTE IGUAL QUE TODOS LOS DEMAS",
"TODO TIEMPO PASADO FUE ANTERIOR"};
int[] contadorLetras = new int[26];
for (int contador = 0; contador < frase.length; contador++) {
String current = frase[contador];
char[] letras = current.toCharArray();
for (int contador2 = 0; contador2 < letras.length; contador2++) {
char let = letras[contador2];
if ((let >= 'A') & (let <= 'Z')) {
contadorLetras[let='A']++;
}

}
for (char contador3 = 'A'; contador3 < 'Z'; contador3++) {
System.out.print(contador3 + ": " + contadorLetras[contador3 - 'A'] + " ");
}
System.out.println();
}
}

并且,当我尝试运行它时,我收到此错误消息:

run: 线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 65

而且,您可以猜到,我找不到错误。但是,请不要直接向我展示问题,而是请您告诉我为什么会收到此消息?跟空格有关系吗?

非常感谢您的宝贵时间。

最佳答案

这看起来像是打印错误。 contadorLetras[let='A']。你知道 'A' 的 int 值是多少吗?

提示:您的异常堆栈跟踪告诉您:
java.lang.ArrayIndexOutOfBoundsException:65

这意味着您上面的代码显示您正在尝试访问 contadorLetras['A'] 这与 contadorLetras[65] 相同,后者远远超出数组的范围。

相反,摆脱 = 并将其更改为 -,因为 let - 'A' 是您想要的:

contadorLetras[let - 'A']++:

关于java - 线程 "main"java.lang.ArrayIndexOutOfBoundsException : 65 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503296/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com