Колода карт Java

Добрый день!

Хочу вывести в консоль коллоду карт, предварительно положив ее в коллекцию,но что-то у меня пошло не так,помогите,пожалуйста

enum Suit {
    Hearts("H"),
    Spades("S"),
    Diamonds("D"),
    Clubs("C");
//создаем конструктор для enum Suit

    private Suit(String name) {
        this.name = name;
    }
//метод для Suit
    private final String name;

    public String getName() {

        return name;
    }
}

//описываем rank карты  
enum Rank {
    One("1"),
    Two("2"),
    Tree("3"),
    Four("4"),
    Five("5"),
    Six("6"),
    Seven("7"),
    Eight("8"),
    Nine("9"),
    Ten("10"),
    Jallet("J"),
    King("K"),
    A("A"),
    Queen("Q");
    private final String name;

    Rank(String name) {
        this.name = name;
    }

    public String getName() {

        return name;
    }
}

public class PlayingCard {

    void add() {

        for (Suit s : Suit.values()) {
            for (Rank r : Rank.values()) {
                System.out.println(s.getName() + r.getName());
            }
        }}
     
    public static void main(String[] args) {
        
    PlayingCard card = new PlayingCard();
 List<PlayingCard>deck = new ArrayList<>();
 for(PlayingCard e : deck)
   deck.add(new PlayingCard());
        

       
            System.out.println(deck);
            
            
            }
}
 

1 ответ

Решение

Попробуй так:

package com.PlayingCards;

import java.util.ArrayList;

enum Suit {
    Hearts("H"),
    Spades("S"),
    Diamonds("D"),
    Clubs("C");

    private final String name;

    Suit(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

enum Rank {
    One("1"),
    Two("2"),
    Three("3"),
    Four("4"),
    Five("5"),
    Six("6"),
    Seven("7"),
    Eight("8"),
    Nine("9"),
    Ten("10"),
    Jack("J"),
    Queen("Q"),
    King("K"),
    Ace("A");

    private final String name;

    Rank(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

class PlayingCards {
    public ArrayList<String> add() {
        ArrayList<String> cards = new ArrayList<>();

        for (Suit s : Suit.values()) {
            for (Rank r : Rank.values()) {
                cards.add(s.getName() + r.getName());
                //System.out.println(s.getName() + "" + r.getName());
            }
        }

        return cards;
    }
}

public class Main {
    public static void main(String args[]) {
        PlayingCards cardsObj = new PlayingCards();
        ArrayList<String> cards = cardsObj.add();

        int index = 0;
        for (String card : cards) {
            index ++;
            System.out.println(index + ") " + card);
        }
    }
}

 

Другие вопросы по тегам