私はJavaでポーカーゲームを作っています。私たちの先生はJavaをよく知らないので、教師の助力によって指示が書かれました。私はカードとして動作する2つの文字列(すなわち、 "2h" = "2つの心")のための記憶空間として役立つHand.javaクラスを作成しようとしています。コンストラクタ内の別の配列を持つArrayListフィールドを初期化する必要がありますか?
- 手のクラスをインスタンス化することを目的とする次のように
彼の命令があります。これは、ゲーム内で片手で を表し、主に配列 で構成されます。
- フィールド:ArrayListのカードカードの収納スペースハンドリスト項目に
- コンストラクタ:ハンド(文字列[])はカードの2文字の略語の アレイとカードのフィールドを初期化します。
- 方法:無効addCard(String)をカードフィールドに 略語で表さカードを追加し
は、ここで私がこれまで持っているものです。
import java.util.*;
public class Hand {
public String[] array;
ArrayList<String> cards = new ArrayList<String>();
public Hand(String[] array) {
this.array = array;
}
public void addCard(String card) {
cards.add(card);
}
(詳しい手順)最終テストでは、メインプログラムで次のコマンドシーケンスを使用する必要があります。プログラムセグメント:
Hand h = new Hand("3c", "4s", "5d", "6h", "7h"); //program is upset with this line
h.printHand();
h.addCard("8d");
h.addCard("3d");
は出力する必要があります
Printing Hand: 5 cards – 3c 4s 5d 6h 7h
Adding Card: Eight of Diamonds (8d)
Adding Card: Three of Diamonds (3d)
は私が狂ったアム、または私は実際に手クラスのコンストラクタ内の配列が必要なのでしょうか? "のコンストラクタ:カードの2文字の略語の配列でカードのフィールドを初期化する" アドバイスをいただければ幸いです。 手クラス内のフィールドとして渡さ配列を保存する必要はありません
'Hand h = new Hand(new String [] {" 3c "、" 4s "、" 5d "、" 6h "、" 7h "});' –
最初に、あなたは 'array'または' cards'を必要とし、両方ではないと思います。新しいHandは配列をとります。 'new Hand(new String [] {" 3c "、" 4s "、" 5d "、" 6h " 、 "7h"}); 'はコンパイルエラーを取り除くべきです。 –