Foro sobre Java SE > Alguien me puede decir a que se debe este error?
Accedes a una posición de la lista que no existe.
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
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()+")");
}
}
}
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.
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
Muchas gracias Ya logre solucionar el problema que tengan un buen dia
debes ver que la lista no venga nula ni vacia
buenas tardes como llegaron a solucionar este tema?tambien estoy en la misma vaina
si me podrian dar una manito porfa
Error 500: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
por favor me podáis decir a que se debe este error? muchas gracias
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)