Java:线程中的异常" main" java.lang.IndexOutOfBoundsException:索引2,大小2

时间:2017-05-07 18:43:11

标签: java arrays exception arraylist indexoutofboundsexception

每次都会出现此错误,这是一个问题。

  

线程中的异常" 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();
}

}

0 个答案:

没有答案