Tôi đang gặp khó khăn khi cố tạo phương thức "shuffleDeck()".Làm thế nào để "trộn" một mảng?
Điều tôi đang cố làm là tạo phương thức sẽ lấy tham số mảng (sẽ là bộ bài) trộn các thẻ và trả về danh sách mảng xáo trộn.
Đây là mã:
class Card
{
int value;
String suit;
String name;
public String toString()
{
return (name + " of " + suit);
}
}
public class PickACard
{
public static void main(String[] args)
{
Card[] deck = buildDeck();
// display Deck(deck);
int chosen = (int)(Math.random()* deck.length);
Card picked = deck[chosen];
System.out.println("You picked a " + picked + " out of the deck.");
System.out.println("In Blackjack your card is worth " + picked.value + " points.");
}
public static Card[] buildDeck()
{
String[] suits = {"clubs", "diamonds", "hearts", "spades" };
String[] names = {"ZERO", "ONE", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "Jack", "Queen", "King", "Ace" };
int i = 0;
Card[] deck = new Card[52];
for (String s: suits)
{
for (int v = 2; v<=14; v++)
{
Card c = new Card();
c.suit = s;
c.name = names[v];
if (v == 14)
c.value = 11;
else if (v>10)
c.value = 10;
else
c.value = v;
deck[i] = c;
i++;
}
}
return deck;
}
public static String[] shuffleDeck(Card[] deck)
{
/** I have attempted to get two index numbers, and swap them.
I tried to figure out how to loop this so it kind of simulates "shuffling".
*/
}
public static void displayDeck(Card[] deck)
{
for (Card c: deck)
{
System.out.println(c.value + "\t" + c);
}
}
}
Chuyển mảng thành 'Danh sách' và gọi' Bộ sưu tập.shuffle (danh sách) '. –
Vâng, đúng vậy! – LastFreeNickname
Mã bạn đăng là vô nghĩa vì nó thiếu phần quan trọng nhất - việc triển khai shuffle đã thử của bạn. Tôi đã bỏ phiếu để đóng như bạn đã không xuất hiện để đã cố gắng này cả. –