Aldım Yeni bir Kart Nesnesi dizisi yaratan, bunları karıştırır ve Yazdırır bir program oluşturduk. Ama şu hataları alıyorum ve bir öğrenci olarak, nedenini anlamakta zorlanıyorum.Kayıt Dışı Bir Sınıf İçin Derleyici Hataları ve Daha Sonra Bir Kopyalama Sınıfı
Hatalar: Sınıf olarak bildirilmemiş geliyor neden şimdiye kadar olduğu gibi
"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();"
i sıkışmış değil eminim. Dosya ismini netbeans olarak değiştirirsem hala yinelenen bir sınıf bulunduğunu belirten bir hata alıyorum. Lütfen yardım et.
, çok teşekkür ederim - Sinerjiclass 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;
}
}
}
Çok teşekkür ederim! Sorunu bana açık bir cevapla çok daha açık bir şekilde yaptın, kodum şimdi çalışıyor. Yardımın için minnettarım! – Synergy76