我这里有一个小问题,我应该制作这个方法:
comprarEntrada:从大厅本身购买分配给会话的列和行的票证的方法。他们的购买是在对象类型Sesion中注册的。
我被告知要制作电影,这是我的方法代码:
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);
}
}
这笔交易是我不确定我是否已经正确完成,我想这不是因为它抛出了这个例外:
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)
所以,如果你能在这里帮助我,我会很感激。
答案 0 :(得分:0)
当您访问不存在的数组或集合的元素时,会发生IndexOutOfBoundsException。换句话说,您访问的索引大于数组的lenght-1
或您馆藏的size-1
。
在你的代码中,这取决于你如何使用'Sala'课程。您似乎没有设置或不添加任何元素到''sessiones'数组列表并尝试获取它的第一个元素。
答案 1 :(得分:0)
sesiones列表没有值(大小:0),所以你不能得到第一个元素(索引:0)