Card类:用于表示扑克牌的点数。
public class Card {
String points, colors;
public Card(String points, String colors)
{
this.points = points;
this.colors = colors;
}
public String getPoint()
{
return points;
}
public String getColors()
{
return colors;
}
public String toString()
{
return colors + " " + points;
}
}
DeckOfCards类:用于创建52张扑克和洗牌,洗牌运用到随机算法。
import java.util.Random;
public class DeckOfCards {
String[] p = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
String c[] = {"红桃", "方块", "梅花", "黑桃"};
Card DeckCard[] = new Card[52];
public void CreateCard()
{
for(int j = 0; j < p.length; j++)
{
for(int i = 0; i < c.length; i++)
{
DeckCard[i * 13 + j] = new Card(p[j], c[i]);
}
}
}
public void ShowCard()
{
for(int i = 0; i < 52; i++)
System.out.print(DeckCard[i] + " ");
}
public void ShuffleCards()
{
Random rand = new Random();
for(int i = DeckCard.length - 1; i > 0; i--)
{
int a = rand.nextInt(i + 1);
Card t = DeckCard[i];
DeckCard[i] = DeckCard[a];
DeckCard[a] = t;
}
}
}
Test类:用于测试
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
DeckOfCards test = new DeckOfCards();
test.CreateCard();
test.ShowCard();
System.out.println("\n");
test.ShuffleCards();
test.ShowCard();
}
}
结果:
屏幕不够宽,显示一部分结果。