每次都会出现此错误,这是一个问题。
线程中的异常" main" java.lang.IndexOutOfBoundsException: 指数:2,大小:2 at java.util.ArrayList.rangeCheck(ArrayList.java:653)at java.util.ArrayList.get(ArrayList.java:429)at at frasesencadenadas.FrasesEncadenadas.main(FrasesEncadenadas.java:34) BUILD FAILED(总时间:4秒)
任何帮助?
代码:
package frasesencadenadas;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
public class FrasesEncadenadas {
public static void main(String[] args) {
System.out.println("JUEGO EXTENDIDO DE PALABRAS ENCADENADAS");
System.out.println("---------------------------------------");
String f1;
String p1,p2;
String r1,r2;
boolean victoria;
int n=1, f=1;
int score1=0, score2=0;
int con = 0, x=0;
Scanner entrada = new Scanner(System.in);
System.out.println("Introducir el nombre del primer jugador: ");
p1 = entrada.nextLine();
System.out.println("Introducir el nombre del segundo jugador: ");
p2 = entrada.nextLine();
System.out.println("¡Comienza el juego!");
System.out.println("Partida " + n + ":Puntos " + p1 + ": " + score1 + ", Puntos " + p2 + ": " + score2);
System.out.println("Frase " + f + " de " + p1 + ":");
f1=entrada.nextLine();
ArrayList<String> frases;
frases = new ArrayList<String>(Arrays.asList(f1.split(" ")));
do {
con = 0;
String palabra0 = frases.get(x);
String palabrafin = frases.get((frases.size() - 1 -x));
for(int i = 0; i < palabra0.length(); i++) {
for (int j = 0; j < palabrafin.length(); j++) {
if (palabra0.charAt(i) == palabrafin.charAt(j)) {
con++;
}
}
}
x++;
}while ((x <= ((frases.size()-1))) || (con >= 3));
System.out.println(con);
if (con >= 3) {
victoria = true;
} else {
victoria = false;
}
System.out.println(victoria);
System.out.println("Respuesta de: " + p2);
r2 = entrada.nextLine();
r2.toLowerCase();
}
}