Я создал свою колоду карт, которая касается каждой карты и костюма, пока не осталось карты. Для моего проекта мне нужно разделить его на 3 класса, которые включают класс драйвера. Сначала я создал один класс со всем, чтобы я знал, как заставить все это работать.Палуба карт JAVA
public class DeckOfCards2 {
public static void main(String[] args) {
int[] deck = new int[52];
String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"};
// Initialize cards
for (int i = 0; i < deck.length; i++) {
deck[i] = i;
}
// Shuffle the cards
for (int i = 0; i < deck.length; i++) {
int index = (int)(Math.random() * deck.length);
int temp = deck[i];
deck[i] = deck[index];
deck[index] = temp;
}
// Display the all the cards
for (int i = 0; i < 52; i++) {
String suit = suits[deck[i]/13];
String rank = ranks[deck[i] % 13];
System.out.println(rank + " of " + suit);
}
}
}
Теперь пытаясь разделить его на 3 класса. Я получаю красные строчки для всех переменных колоды/костюма на моем классе DeckOfCards. Я не знаю, как это исправить.
public class DeckOfCards {
private Card theCard;
private int remainingCards = 52;
DeckOfCards() {
theCard = new Card();
}
public void shuffle(){
for (int i = 0; i < deck.length; i++) {
int index = (int)(Math.random() deck.length);
int temp = deck[i];
deck[i] = deck[index];
deck[index] = temp;
remainingCards--;
}
}
public void deal(){
for (int i = 0; i < 52; i++) {
String suit = suits[deck[i]/13];
String rank = ranks[deck[i] % 13];
System.out.println(rank + " of " + suit);
System.out.println("Remaining cards: " + remainingCards);
}
}
}
класс карты:
public class Card {
int[] deck = new int[52];
String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"};
Card() {
for (int i = 0; i < deck.length; i++) {
deck[i] = i;
}
}
}
Dealer класс
public class Dealer {
public static void main(String[]args){
System.out.println("The deck will randomly print out a card from a full deck each time");
DeckOfCards player = new DeckOfCards();
player.deal();
}
}
Вы можете включать ошибку вы получаете? – BobTheBuilder
В «DeckOfCards» нет никаких массивов, что может стать хорошим началом для исправления этих досадных красных squiggles. В вашем экземпляре карты также нет никакой логики, которая гарантировала бы, что я получу уникальную карточку (или карту фактического костюма и ранга), но это не вызовет сквигглей. – Makoto
Я не получаю сообщение об ошибке. Моя колода и костюмы в моем классе DeckOfCards у всех есть красные squiggles под ней. Когда я нависаю над ним, он говорит, что «колода не может быть разрешена переменной» – Chris