怎样在Java控制台中实现洗牌和发牌功能啊?

private static void fa() {
User run = new User();
String[] sd = null;
int d = 0;
sd = run.xipai(sd);
for (int i = 0; i < 54; i++) {
if (d % 17 == 0) {
System.out.println("\n");
int k = d / 17 + 1;
if (k >= 1 && k <= 3) {
System.out.print("玩家" + k + ":");
} else if (k == 4) {
System.out.print("底牌:");
}
}
System.out.print(sd[i]+" ");
d++;
}
}

把所有的牌放到数组A里。然后随机抽取数组A中的一个下标,并根据这个下标把这个下标里的牌放到数组B里。然后将数组A中的这个牌删除。然后在重复上述步骤知道数组A中没有值了。就完成洗牌了追问

我洗牌完了怎样排序呢?

追答

洗牌是不用排序的,

追问

不是啊,我的意思是说发完牌后怎样把每个玩家的纸牌排序出来

追答

你发完牌后,玩家手上的牌就已经固定了。你可以根据牌的大小排序嘛。像冒泡排序,选择排序都可以啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-08
List<Integer> list = new Array<Integer>(Arrays.asList(1,2.....));
Collections.shuffle(list);
Collections.sort(list);
JAVA有强大的类库。。大部分算法不用你写。。不是C。
多看看API。。。
第2个回答  2011-10-08
用一个数组表示牌,用一个数组表示牌盒
给牌编号;用随机数来确定牌在牌盒中的位置,把牌按位置放进牌盒;按牌盒的顺序输出牌。追问

能帮我实现出来吗?

追答

抱歉,不代写作业。

相似回答