String[] suit = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J",
"Q", "K", "A" };
String[] face = { "红桃", "黑桃", "方块", "梅花" };
就是生成牌 怎么用Int来实现 因为会方便后面比较大小!!
还有就是有木有高手有好用的洗牌算法。。真心求!
"Q", "K", "A" };
String[] face = { "红桃", "黑桃", "方块", "梅花" };
就是生成牌 怎么用Int来实现 因为会方便后面比较大小!!
还有就是有木有高手有好用的洗牌算法。。真心求!
解决方案 »
- 3n+1问题
- 类似qq多人间一对一聊天,服务器应该怎么设置
- 特别急!!求助!!!这样的访问如何实现??(jsp+servlet)
- 要创建文件夹sp_configure要怎么设置xp打开哪个选项
- 总结了一下对数据库连接的操作,大家来看看
- 关于IE中的table不能输入的问题
- 今天复习了一下一些简单的排序算法,贴出来给大家批评批评,顺便散一下分
- linux 安装jdk
- 请问大家一个低级的问题:在windows里显示对话框的函数是AfxMessageBox("OK"),在纯java里怎么用,还要引用什么包吗?
- 请问怎么使JTextArea或JEditorPane在显示的视图内自动换行?
- 弱弱的问一下 关于十六进制
- 哪位大神可以给我讲解一下1.6的心功能可变参数
A,K,Q,J,10,9....2,就是0到12,黑红梅方,就是0到3,比大小的时候,先比数字,再比花色。
假设一张牌数字是X,花色是Y,这张牌可以给一个int,X * 4 + Y,数值小的牌比较大。比如红桃2,就是12 * 4 + 1 = 49,黑桃6就是8 * 4 + 0 = 32,红桃2比黑桃小大,黑桃2是12 * 4 + 0 = 48,黑桃2比红桃2大,比黑桃6小生成52个int数列后,按楼上方法完成洗牌
A转为int的话对应应该是多少呢?
1的话肯定不对。。
既然java,就可以用对象的概念来写
创建一个纸牌类public class Card {
private String name;//纸牌的名称,比如3,Q等等
private String color;//牌色,比如红桃,这里如果愿意的话,可以改成枚举类型
private int level;//等级,在判断的大小的时候的标志
public Card(String name,String color) {
// TODO Auto-generated constructor stub
this.name=name;
this.color=color;
init();
} private void init() {
//根据纸牌的名称和牌色来判断大小
char c = name.substring(0, 1).toCharArray()[0];
switch (c) {
case '3':
this.level=1;
break;
case '4':
this.level=2;
break;
case '5':
this.level=3;
break;
case '6':
this.level=4;
break;
default:
this.level=0;//level为0时代表有问题
break;
}
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getColor() {
return color;
} public void setColor(String color) {
this.color = color;
} public int getLevel() {
return level;
} public void setLevel(int level) {
this.level = level;
}
}