Jjava大侠们这个怎么做?

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:08:54
用JAVA编程实现。
52张扑克牌,
面值String f[]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}
花色 String s[] = {"黑桃","红桃","梅花","方片"}
Card 有两个属性 face(花色)、suit(面值)
Card deck=new Card[52]
a、将52张牌进行初始化。
b、洗牌,对52张牌打乱重新排列。
temp = cards[k];
cards[i] = cards[k];
cards[k] = temp;}
这个地方没有写错吗?
没有交换

楼上回答算不错啦!
主要是 洗牌这个地方有点问题
效率不是很好啊!
这个操作需要比较的是1+2+3+4+..+54次
需要这么多次才能保证洗牌不重复
建议还是考虑好洗牌吧!

初始化就是按花色字面量排一下就OK了
比如 红心 2.3.4....JQKA 黑桃 2.3...

我们把这个作成个方法较INIT();

然后洗牌呢 可以做个 洗牌系数 就是说 我想把牌洗得多乱!
比如 100
那可以做个方法
void sequence( int num )
{
int n = 0;
int m = 0;
for(int i=0; i<num; i++)
{
n = random(54);// 从排里选出一张
m = random(54);// 从排里选出另一张
change(n , m ) //交换2张牌!!
}
}

这样效率是否有提高阿!
而且 还可以设定洗牌 洗得乱不乱
呵呵!

l;;l;l;lpllllllllllllllllllllllll