私はこのようになりますカードのクラスを持っている:toStringメソッド
public class Card
{
//instance variables
private String faceValue; //the face value of the card
private String suit; //the suit of the card
String[] ranks = {"Ace", "2", "3", "4", "5", "6","7", "8", "9", "10", "Jack", "Queen", "King"};
String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"};
/**
* Constructor
*/
public Card()
{
for (int i = 0; i < 13; i++)
{
for (int j = 0; j < 4; j++)
{
faceValue = ranks[i];
suit = suits[j];
}
}
}
//getters
/**
* Getter for faceValue.
*/
public String getFaceValue()
{
return faceValue;
}
/**
* Getter for suit.
*/
public String getSuit()
{
return suit;
}
//end of getters
//methods
/**
* This method returns a String representation of a Card object.
*
* @param none
* @return String
*/
public String toString()
{
return "Dealed a card: " + faceValue + " of " + suit;
}
}
、配列を作成するために、カードのクラスを使用して別のデッキクラス:
public class Deck
{
//instance variables
private Card[] deck;
/**
* Constructor for objects of class Deck
*/
public Deck()
{
deck = new Card[52];
}
/**
* String representation.
*/
public String toString()
{
return "Dealed a card: " + deck.getFaceValue() + " of " + deck.getSuit();
}
}
私のtoStringメソッドがあります私に "シンボルを見つけることができません - メソッドgetFaceValue()"というエラーを与えます。 getSuit()と同じです。なぜどんなアイデア?ここ
'deck'は' Card'配列ではなく 'Card'配列です。配列には2つのメソッドがありません。 – resueman
配列にはメソッドがありません。配列の要素にはメソッドがあります。 – bmargulies
'Arrays.toString(deck)'を返すだけで、すべてのカードの文字列のリストを得ることができます。 –