2016-07-11 15 views
0

なぜこのコードがプログラムをクラッシュさせますか?これはプログラムをクラッシュなぜ私にはわからないArray = List <Array> .get(int):プログラムがクラッシュする

public class One 
{ 
    int PostionToGet = 0; 
    Loots[] NormalListII = new Loots[] { }; 
    public void switch() 
    { 
     (...) 
     Enemy enemy; 
     NormalListII = Enemy.MyLoots1.get(PostionToGet); 
    } 
} 

public class Enemy 
{ 
    public static ArrayList<Loots[]> MyLoots1 = new ArrayList<Loots[]>(); 
    public static ArrayList<Loots[]> MyLoots2 = new ArrayList<Loots[]>(); 
    public static ArrayList<Loots[]> MyLoots3 = new ArrayList<Loots[]>(); 
    public static ArrayList<Loots[]> MyLoots4 = new ArrayList<Loots[]>(); 
    //Loots is a class. 

    public Loots[] ToList1 = new Loots[] {new Loots(1, "7"), (...) }; 
    public Loots[] ToList2 = new Loots[] {new Loots(2, "48"), (...) }; 
    public Loots[] ToList3 = new Loots[] {new Loots(3, "29"), (...) }; 
    public Loots[] ToList4 = new Loots[] {new Loots(4, "16"), (...) }; 

public Enemy() 
{ 
    MyLoots1.add(ToList1); 
    MyLoots2.add(ToList2); 
    MyLoots3.add(ToList3); 
    MyLoots4.add(ToList4); 
} 

NormalListII = Enemy.NormalLootsListII.get(PostionToDelete); 

は、より多くのコードがあります。

私はdebbugerでプログラムをリーチングしていますし、このラインで

(NormalListII = Enemy.NormalLootsListII.get(PostionToDelete);) 

プログラムがクラッシュしています。

+1

は、エラーメッセージを追加クラッシュにつながるように、実際にはArrayListの任意の項目を持っていません/ スタックトレース。 – Fildor

+2

'Enemy'インスタンスを作成していない場合、すべての' MyLoots# 'リストは空のままです。 – Eran

+0

その後、完全なコードを表示 – Eran

答えて

1

あなたがそこに配列リストに項目を追加したとして、敵のクラスのコンストラクタを呼び出す必要があり、ここであなたが0位置にある要素にアクセスしているが、それは

関連する問題