【问题标题】:IndexOutOfBoundsException Cinema [duplicate]IndexOutOfBoundsException 电影院 [重复]
【发布时间】:2017-06-25 20:46:28
【问题描述】:

我在这里遇到了一个小问题,我应该使用这个方法:

comprarEntrada:从大厅本身购买带有分配给会话的列和行的票的方法。他们购买的对象类型注册在 Session 中。

我被告知要制作电影,这是我使用此方法的代码:

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)

所以,如果你能在这里帮助我,我将不胜感激。

【问题讨论】:

  • 你读过异常吗?您认为“IndexOutOfBoundsException: Index: 0, Size: 0”可能是什么意思?

标签: java


【解决方案1】:

当您访问不存在的数组或集合的元素时会发生IndexOutOfBoundsException。换句话说,您访问的索引大于数组的lenght-1 或集合的size-1

在您的代码中,这取决于您如何使用“Sala”类。似乎您没有设置或没有将任何元素添加到“会话”数组列表并尝试获取它的第一个元素。

【讨论】:

    【解决方案2】:

    sesiones 列表没有值 (Size: 0),所以无法获取第一个元素 (Index: 0)

    【讨论】:

      猜你喜欢
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多