エラー行は 13 です。エラーは Array index out of bound です。 http://pastebin.com/L3FtzarH
この方法は、文字列内の文字を検索することであり、同じ文字のすぐ隣に繰り返し文字がある場合を除いて、正常に機能します。たとえば、「ウサギ」という単語では、文字「b」でエラーが発生し、2 回発生します。と同じ文字の隣に。
ハングマンゲームやってます。空白には index を 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;
}
}
}