Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Alguien me puede decir a que se debe este error?

Buenos DIas
Le agredeceria si alguien me puede ayudar a solucionar este error Muchas gracias

do{

Scanner lector = new Scanner(System.in);
opc = lector.nextLine();
for(int i=0;i<tab.miLista.size();i++){

tab.miLista.get(i).move();
Canicas c = tab.miLista.get(i);
tab.miLista2.get(i).bump(c);// aca esta el error
}


tab.ImprimirCanicas();

System.out.println("\n\nOprima una tecla seguida de enter para mover las canicas");
System.out.println("Si desea Salir Oprimar la letra s ");

}while(!opc.equals("s"));

y este es el error que tiene
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Canicas.Principal.main(Principal.java:105)

marzo 29, 2014 | Registered Commenterbachnonymus

Accedes a una posición de la lista que no existe.

marzo 29, 2014 | Registered Commenterchoces

Te lo dice la excepción. Estás accediendo a un elemento de la lista que no existe. En este caso intentas acceder al primer elemento pero la lista está vacía: Index: 0, Size: 0
miLista parece tener elementos, pero no así miLista2

Un saludo

marzo 29, 2014 | Unregistered CommenterUnoPorAhi

Mire este es el codigo donde agrego los elementos alas listas me pueden ayudar a encontrar el error se lo agradeceria Gracias


package Canicas;

import java.awt.Color;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class Tablero extends Imagen {

private int [][]tab ;
private Color [][]color;
private int anc;
private int Lar;
private boolean val,val2;
ArrayList <Canicas> miLista = new ArrayList<Canicas>();
ArrayList <Bumper> miLista2 = new ArrayList<Bumper>();

public Tablero(int x,int y){
super((x),(y));

/*this.tab=new int[x][y];
color=new Color[x*100][y*100];
for(int i =0;i<(x*100);i++){
for(int j=0;j<(y*100);j++){
color[i][j]= new Color(255,255,255);
this.setColor(i, j, color[i][j]);
if((i%100)==0){color[i][j]= new Color(0,0,0);
this.setColor(i, j, color[i][j]);}
if((j%100)==0){color[i][j]= new Color(0,0,0);
this.setColor(i, j, color[i][j]);}

}
} */





this.anc=x;
this.Lar=y;


}


public void agregarCanica(Canicas c){
if((miLista.contains(c))==false){
miLista.add(c);
}
}



public void agregarBumper(Bumper b){
if((miLista2.contains(b))==false){
miLista2.add(b);
}
}



public int getAncho(){

return this.anc;
}

public int getLargo(){

return this.Lar;
}



public String TamañoTablero(){
return "El tablero tiene un tamaño de : \nCuadros de Ancho: "
+anc+"\nCuadros de Largo: "+Lar;
}

public void Validar(Canicas c){

if(c.getX()>=this.getAncho()){val=false;}
else{val=true;}
if(c.getY()>=this.getLargo()){val2= false;}
else{val2=true;}

}


public void ImprimirCanicas(){
for (int i = 0; i <miLista.size(); i++) {
Canicas c = miLista.get(i);
System.out.println("Hay una canica en la posicion ("+c.getX()+","+c.getY()+")");
}
}

public void ImprimirBumper(){
for (int i = 0; i <miLista2.size(); i++) {
Bumper b = miLista2.get(i);
System.out.println("Hay un bumper en ("+b.getX()+","+b.getY()+")");
}


}


}

marzo 29, 2014 | Registered Commenterbachnonymus

Para buscar este tipo de problemas existen los Debuggers.
Me niego a instalarme un compilador en un ojo, y un Debugger en otro, para poder contestar a este tipo de cuestiones en este foro.

Si no quieres, o no sabes, usar un Debugger, al menos publica un código completo, compilable y ejecutable, por si algún "alma" del foro se "anima" a copiarlo y depurarlo por ti.

marzo 29, 2014 | Registered Commenterchoces

No hay mucho que agregar a lo ya dicho por choces. Además, pones los métodos agregar*** que son los que cargan las listas, pero no desde donde se les llama. Así, y sin bola de cristal, solo podemos perder el tiempo.

Tutoriales sobre como usar debugger en Eclipse y Netbeans:
https://www.youtube.com/watch?v=lFLFxVUUD74
https://www.youtube.com/watch?v=xCvoSnR-PQg

Un saludo

marzo 29, 2014 | Unregistered CommenterUnoPorAhi

Muchas gracias Ya logre solucionar el problema que tengan un buen dia

marzo 29, 2014 | Registered Commenterbachnonymus

debes ver que la lista no venga nula ni vacia

enero 26, 2017 | Unregistered Commenterzaida

buenas tardes como llegaron a solucionar este tema?tambien estoy en la misma vaina
si me podrian dar una manito porfa

octubre 12, 2017 | Unregistered CommenterGustavo