[英]Comparing the strings in two different arraylists
在我自學Java的過程中,我一直在編寫類似戰艦的游戲,但是我的方法遇到了問題,即確保在創建新船時除非所有位置都不會添加它值是唯一的。
我做錯了,因為我的方法不起作用並且我得到重復的值(或具有相同位置的船)。
我有兩個ArrayLists:
我檢查要添加到Ship對象的ArrayList中的船只是否具有唯一位置的方法如下:
private boolean hasUniqueLocs(Ship ship) {
for (Ship x : theShips) {
for (String y : ship.shipLocation) {
System.out.println("Checking to see if " + x.shipLocation + " ship contains this value: " + y);
if (x.shipLocation.contains(y)) {
return false;
}
}
}
return true;
}
因此,“ theShips”是GameController上我的Ships ArrayList字段(使用Main方法)。 “ shipLocation”是我在Ship對象上保存位置的ArrayList字段。
我的println()語句永遠不會運行,因此由於某種原因我永遠都無法獲得for循環?
感謝您提供的任何指導或見解!
好吧,我吹了。 我仍然不熟悉調試器,應該先去那里,但是我已經習慣於在代碼中出現錯誤,以至於我認為這是問題所在,並且關於數組列表的某些內容我還不了解。
調試后,我意識到直到調用該方法的方法結束才真正添加飛船-因此,正如你們指出的那樣,數組列表中還沒有任何對象。 一旦有了這個指示,就很容易看到我的問題。
感謝大家!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.