Я знаю, что это было задано многими людьми раньше (и я немного огляделся, прежде чем приходить сюда), но я не могу понять, как исправить мой код. Моя задача - создать статический метод makeDeck, который возвращает ArrayList, содержащий 52 карты стандартной колоды карт. Я довольно новичок в ArrayLists, поэтому я не совсем уверен, правильно ли инициализирую ArrayList makeDeck. Это то, что я до сих пор:Создание колоды карт с использованием ArrayList
public class Card
{
private String mySuit;
private int myValue;
public Card(String suit, int value)
{
mySuit = suit;
myValue = value;
}
public String name()
{
String[] cardNames =
{
"Deuce", "Three", "Four", "Five",
"Six", "Seven", "Eight", "Nine", "Ten",
"Jack", "Queen", "King", "Ace"
};
return cardNames[ myValue - 2 ] + " of " + mySuit;
}
}
public class MainClass
{
public static void displayCards(ArrayList<Card> a)
{
int i;
System.out.println("Size is " + a.size());
for (i = 0 ; i < a.size() ; i++)
{
Card c = a.get(i);
System.out.println("#" + (i+1) + ": " + c.name());
}
}
public static ArrayList<Card> makeDeck()
{
ArrayList<Card> cards = new ArrayList<Card>();
String[] cardNames =
{
"Deuce", "Three", "Four", "Five",
"Six", "Seven", "Eight", "Nine", "Ten",
"Jack", "Queen", "King", "Ace"
};
String[] suits = { "spades", "hearts", "diamonds", "clubs" };
for (int a=0; a<=cardNames.length(); a++)
{
for (int b=0; b<= suits.length(); b++)
{
cards.add(new Card(cardNames[a], suits[b])); //I've noticed many people use this to add the card names and suits to the cards ArrayList, and it gives me an error of not being able to turn suits[b] into an integer, so I'm confused as to how it worked for others
}
}
return cards;
}
public static void main(String[] args)
{
System.out.println(makeDeck());
}
Если кто-то может пожалуйста помочь мне понять, что я делаю неправильно, я был бы очень благодарен. Спасибо!
Что вы видите? – christopher
добавить карты возврата в конце функции makeDeck – MYK
Это моя текущая ошибка: MainClass.java:31: ошибка: несовместимые типы: строка не может быть преобразована в int cards.add (новая карта (cardNames [a], костюмы [б])); , но я уверен, что есть и другие. –