1

トランプ(スーツとランク)の列挙型を宣言するクラス(カード)が1つあります。2番目のクラス(Deck)は、列挙型からデッキを作成し、それらをシャッフルして、ArrayListに挿入します。

最初のクラスには、このクラス/メソッドがあります。

       public static abstract class descendingCards implements Comparator{
           public static ArrayList<Card> sortDescending(ArrayList<Card> cardList){
               Comparator<Card> c = Collections.reverseOrder();
               Collections.sort(cardList, c);
               return cardList;
    }
}

私のメインメソッドクラスにはこれが含まれています:

    System.out.print(Deck.newDeck());
    System.out.print("After Sorting to desending: " + "\n");
    System.out.print(Card.descendingCards.sortDescending(Deck.newDeck()));

最初はファーストクラスでデッキを作成していましたが、メソッドは正常に機能しました。デッキの作成を2番目のクラスに移動したので、メソッドは空のArrayListのみを返すと思います。少し混乱しています。私が見落としている小さなものだと確信しています。どんな助けでもいただければ幸いです。ありがとう。

4

1 に答える 1

1

解決策は非常に単純で、空のArrayListを作成するだけでDeckコンストラクターを呼び出すことはありません。デッキはコンストラクターによって埋められ、コンストラクターを呼び出さないため、デッキは空のままになります。

于 2012-11-14T14:57:24.990 に答える