【发布时间】:2011-12-03 15:39:43
【问题描述】:
错误行是 13。错误是 Array index out of bound。 http://pastebin.com/L3FtzarH
方法是在字符串中查找一个字符,它工作正常,除非在同一字符旁边有重复字符,例如在单词“Rabbit”中给我一个带有字母“b”的错误因为它出现在同一个字母旁边。
我在做刽子手游戏。 对于空格,我将索引乘以 to。例如:如果秘密词是“猫”那么它会出现3个下划线:“_ _ _”那个下划线字符串有6个字符,所以如果字母是A(世界“猫”中的索引1)我乘以2填充字符串中的正确位置 下划线:“_ A _”
编辑 1,您的代码:
public void buscarLetra() {
chequearif = false;
string = "";
letra = letraEscogida.toCharArray();
System.out.println("la letra pasa a char:" + letra[0]);
int index = 0;
for (int i = 0; i < (palabraElegida.length()); i++) {
if (palabraElegida.substring(i, i + 1).equals(letraEscogida) == true) {
if (chequearif == true) {
string = "";
index = palabraElegida.indexOf(letraEscogida, index + 1);
index *= 2;
arrayGuiones[index] = letra[0];
System.out.println("segundo index: " + index);
index = 0;
}
index = palabraElegida.indexOf(letraEscogida);
index *= 2;
System.out.println("primer index: " + index);
arrayGuiones[index] = letra[0];
for (int j = 0; j < arrayGuiones.length; j++) {
string += arrayGuiones[j] + "";
}
lbl_palabra.setText(string);
chequearif = true;
}
}
}
【问题讨论】:
-
请将您的代码发布在论坛中,而不是链接中。
-
顺便说一句:在计算中包含下划线之间的空格时,它变得太复杂了。只需根据实际字符进行计算,然后根据您的需要格式化(例如所有字符之间包含空格)。
-
确切的错误是什么?它试图读取什么索引?
-
我没有看到包括空白在内的这么复杂,它只是将索引乘以 2...但是我按照你说的@home 做到了,并且运行良好,谢谢。
-
但我想不明白为什么当我包含空格时会给我一个错误。根据我的计算,索引从未超过字符串的长度......这就是给我的运行时错误。