2012-11-29 293 views
0

分裂時猛擊我有玩家擊中或站立,然後進行測試,以結束循環我有這樣的代碼:在我的大酒杯大酒杯

int runLoopCount1 = 0; 
    for (int i = 0; i < players.length; i++) { 
     if (players[i].wantSplit = false){ 
       if(players[i].getStatus() == true){ 
        runLoopCount1++; 
       } 
     } 

     else if (players[i].wantSplit = true){ 
      if ((players[i].splits[0].busted == true|| 
       players[i].splits[0].standed == true) && 
       (players[i].splits[1].busted== true || 
       players[i].splits[1].standed == true)){ // null pointer here 
         runLoopCount1++; 
       } 
      } 
     } 

    if(runLoopCount1 == players.length){ 
     runLoop = false; 
    } 

現在,我得到一個空指針異常。我不知道爲什麼。請幫忙。謝謝!

+0

你知道是什麼行空指針異常情況發生嗎? –

+0

這是一個任務:'if(players [i] .wantSplit = false){' – hmjd

+0

我指出代碼中的行只是向右滾動 – user1796681

回答

2

你真正的意思if(players[i].wantSplit = false)if(players[i].wantSplit == false) 相同,以if(players[i].wantSplit = true)if(players[i].wantSplit == true)

+0

你明白了!正確 – user1796681

+0

老鷹眼睛____ –

0

很可能每個玩家的splits未正確初始化。

players[i].splits[0].standed 
0

這意味着你正在試圖訪問不是實例化一個對象。因此,舉例來說,如果你這樣做:

players[i].wantSplit 

players[i]沒有實例化,則空指針異常將被拋出