2017-06-25 1 views
-3

ich hier ein lil Problem bekam, soll ich diese Methode machen:IndexOutOfBoundsException Kino

comprarEntrada: Methode, die sich für die Sitzung aus dem Saal ein Ticket mit der Spalte und Zeile zugewiesen kauft. Der Einkauf ist im Objekttyp Sesion registriert.

Mir wurde gesagt, ein Kino zu machen, und dies ist mein Code für diese Methode:

public class Sala { 

    private String pelicula; 
    private ArrayList<Sesion> sesiones; 
    private int columnas; 
    private int filas; 

    public Sala (String pelicula, String [] horaSesiones, int filas, int columnas){ 
     this.pelicula = pelicula; 
     this.sesiones = new ArrayList <Sesion>(); 
     this.filas = filas; 
     this.columnas = columnas; 
    } 

    public void comprarEntrada (int sesion, int fila, int columna){ 
     if(this.sesiones.get(sesion-1).getEstadoAsientos()[fila][columna]==0){ 
     this.sesiones.get(sesion-1).comprarEntrada(fila, columna); 
    } 
} 

Der Deal ist, dass ich nicht sicher bin, ob ich es richtig gemacht habe, ich denke, es isn‘ t, weil es diese Ausnahme auslöst:

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 cine.Sala.comprarEntrada(Sala.java:42) 
    at predeterminado.TestVentaEntradasSala.main(TestVentaEntradasSala.java:38) 

Also bitte, wenn Sie könnten mir freundlich hier helfen, wie ich es zu schätzen wissen.

+1

Haben Sie die Ausnahme gelesen? Was denkst du könnte "IndexOutOfBoundsException: Index: 0, Size: 0" bedeuten? –

Antwort

0

IndexOutOfBoundsException ist aufgetreten, wenn Sie auf ein Element eines Arrays oder einer Sammlung zugreifen, das nicht existiert. Mit anderen Worten greifen Sie auf einen Index zu, der größer als lenght-1 Ihres Arrays oder size-1 Ihrer Sammlung ist.

In Ihrem Code hängt es davon ab, wie Sie die Klasse 'Sala' verwenden. Es sieht so aus, als ob Sie der Array-Liste "sessiones" kein Element hinzufügen oder hinzufügen und versuchen, das erste Element davon zu erhalten.

0

sesiones Liste hat keinen Wert (Größe: 0), so dass Sie nicht das erste Element erhalten können (Index: 0)

Verwandte Themen