カードオブジェクトの配列を作成し、シャッフルしてプリントするプログラムを作成しました。しかし、私は次のエラーを受けているし、学生として、私はなぜ理解している問題を抱えている。宣言されていないクラスと重複しているクラスのコンパイラエラーの受信
エラー:クラスとして宣言されていない来ている理由を、これまでのよう
"HW6GetBig.java:23: error: class Card is public, should be declared in a file named Card.java public class Card {"
"HW6GetBig.java:39: error: class DeckOfCards is public, should be declared in a file named DeckOfCards.java public class DeckOfCards {"
"HW6GetBig.java:11: error: cannot find symbol DeckOfCards myDeckofCards = new DeckofCards();"
は、私は立ち往生していないことを確認しています。 netbeansでファイル名をCardに変更すると、重複したクラスが見つかったというエラーが表示されています。助けてください。
は 、どうもありがとうございました - シナジーclass HW6GetBig
{
public static void main(String[] args)
{
DeckOfCards myDeckofCards = new DeckofCards();
myDeckofCards.deckShuffler(); // Randomizes/Shuffles the Cards in the Deck, using a Random # and Swaps
// Print 52 Cards in the Order in which they are dealt
for (int i = 0; i < 13; i++) {
// Deal and Print 4 Cards
System.out.printf("%-20s%-20s%-20s%-20s\n",
myDeckofCards.dealCard(), myDeckofCards.dealCard(),
myDeckofCards.dealCard(), myDeckofCards.dealCard());
}
}
}
public class Card {
//Card Class represents a Virtual Playing Card in our Deck
private String rank; // Ranks Of Card
private String suit; // Suit Of Card
// Two Argument Constructor initializes card's face and suit
public Card(String cardRank, String cardSuit) {
rank = cardRank; // Intializing Values of Card's Rank
suit = cardSuit; // Intializing Values of Card's Suit
}
// Return String representing the Card
public String CardToString() {
return rank + " of " + suit;
}
}
public class DeckOfCards {
private Card deck[]; //Declaration of Array of Card Objects
private int topCard; //Card to be Dealt
private final int NUM_CARDS = 52; // Constant # Of Cards in a Standard Deck
int random = (int)(Math.random()*52+1);
public DeckOfCards() {
String ranks[] = {"Ace","Two","Three","Four","Five","Six","Seven",
"Eight","Nine","Ten","Jack","Queen","King"};
String suits[] = {"Spades","Hearts","Clubs","Diamonds"};
deck = new Card[NUM_CARDS]; // Creating an Array of Card Objects
topCard = 0; // Setting Current Card so 1st Card is deck[0]
// Filling the Seats of our Empty Deck Room with Card Objects
for (int i = 0; i < deck.length; i++) {
deck[i] = new Card(ranks[i % 13], suits[i/13]);
// End of Deck Of Cards Constructor
}
}
public void deckShuffler() {
// After Shuffling, The Deck should begin at deck[0] once again
topCard = 0;
// For each Card, pick a "Random Card/#" and Swap.
for(int i = 0; i < deck.length; i++) {
// Obtaining a Random # Between 0 and 51.
int j = random;
// Swapping Currently Selected Card (i) with Random Card (j)
Card tempObject = deck[i];
deck[i] = deck[j];
deck[j] = tempObject;
}
}
public Card dealCard() {
// Ensure the Top Card does not exceed the Deck Length
if (topCard < deck.length) {
return deck[topCard++];
} else {
return null;
}
}
}
ありがとうございました!あなたは問題を私にはっきりと答えました。私のコードは今働いています。本当に助けに感謝! – Synergy76