這是作業。我有一個工作計劃,但它沒有按照預期完全工作。目標是創建一個紙牌類,這是一個基本的紙牌遊戲。沒有顏色沒有西裝只是整數。整數1-15是最大卡數。 piles = new ArrayList()//實例變量 通過將MathList的構造函數初始化爲通過Math.random()的隨機數堆,開始遊戲。 我的問題是遊戲結束。當我們有5堆包含大小爲1,2,3,4,5 的任意順序時,遊戲結束。 我有我的over()函數檢查通過比較數組,但只檢查確切的順序1,2,3,4,5。 我的教授說以下 「ArrayList Java庫方法可以使這個實驗太容易了,因此使用樁可以使用 只有這些庫方法:構造函數; add(); size(); set(); get(); remove (); 的indexOf();的toString()如何使用ArrayList的indexOf()方法到
在()如果紙牌超過 返回真,否則返回假 的紙牌是當樁具有尺寸1,2,3,4上,並5,以任意順序(可以是 表明你總是以這樣的配置結束。) 提示:使用indexOf()。「
我一直在嘗試在此應用程序中使用indexOf(),但我無法看到該方法如何能夠以任何順序檢查堆的大小。它只是獲得列表中任何元素的索引,所以對我來說沒有意義。
這裏是紙牌測試類的源代碼,我不能改變:
public class SolitaireTester
{
public static void main(String[] args)
{
Solitaire s = new Solitaire();
System.out.println("Start: " + s.toString());
int rounds = 0;
while (!s.over()) {
s.round();
++rounds;
System.out.println(rounds + ": " + s.toString());
}
System.out.println("Rounds: " + rounds);
}
}
,這裏是我的紙牌類代碼的一部分,在()方法
public boolean over()
{
int[] perfectPiles = {1,2,3,4,5};
boolean result = true;
for (int i = 0; i < piles.size(); i++)
{
if(perfectPiles[i] != piles.get(i))
{
result = false;
break;
}
}
return result;
}
再次我的問題是我怎麼能使用indexOf()檢查布爾意義上的perfectPiles,以便樁的大小順序無關緊要,只要它包含元素1,2,3,4,5。我們再次不能使用contains()方法。謝謝,我會感謝任何幫助!如果需要,我可以發佈更多的代碼,只是不想讓同行複製我的所有代碼。
是什麼'piles'看起來像 – SomeDude
你需要比較反對它似乎大小,而不是第i個項目,你需要檢查所有排列,除非你面前樁按大小排序。 – maraca
@ma raca我認爲OP已經濫用了「size」這個詞,考慮到OPs教授暗示要使用indexOf()方法,當然這意味着你只需要檢查該項是否包含在列表中而不是其他任何東西。 –