Строка ошибки - 13. Ошибка: индекс массива вышел за пределы.http://pastebin.com/L3FtzarH
Метод заключается в поиске символа в строке, и он работает нормально, за исключением случаев, когда рядом с тем же символом находятся повторяющиеся символы, например, в слове «Кролик» выдается ошибкас буквой "b", потому что это дважды и рядом с одной и той же буквой.
Я играю в палач.Я умножаю индекс на пустые места.Например: если секретное слово «кошка», то появится 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;
}
}
}