返回信息流class Card{
Card(String name){
this.name=name;
}
String name="";
public String toString(){
return name;
}
public void setName(String name){
this.name=name;
}
}
class Test{
public static void main(String[] str){
Card[] deck = new Card[52];
Test t=new Test();
int x=0;
String f[] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
String s[] = { "黑桃", "红桃", "梅花", "方块" };
for(int i=0;i<s.length;i++)
for(int j=0;j<f.length;j++)
deck[x++]=new Card(s[i]+f[j]);
t.riffle(deck);
t.print(deck);
}
public Card[] riffle(Card[] c){ //采用乱数排列
int tmp=0;
Card k=null;
for(int i=0;i<c.length;i++){
tmp=(int)(Math.random()*52);
if(tmp==0) tmp=1;
k=c[tmp]; //交换随机到的两个数(下标)
c[tmp]=c[i];
c[i]=k;
}
return c;
}
public void print(Card[] c){
for(int i=0;i<c.length;i++){
System.out.print(c[i].toString()+" ");
if((i+1)%4==0) System.out.println();
}
}
}
这个程序是用来给一副扑克牌每一张赋值的,然后有一个riffle()方法,是洗牌的方法
这段程序我是在网上看的,但是运行出错,错误是说t.riffle(deck); 和 t.print(deck);这两句找不到riffle()和print()方法
小人不才,改了好久,也没正确运行出来
请问各位大神,应该怎样改,这个才能正确运行?
谢谢各位大神!
这是一条镜像帖。来源:北邮人论坛 / java / #41185同步于 2015/5/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
请问这段代码应该怎样修改才能正确运行?
singingwheat
2015/5/27镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
eclipse里面ctrl+shift+f是可以格式化代码的。 嗯。 对齐以后看起来容易一点。
然后我这可以运行。。囧。。
然后打乱的话可以用Collection.shuffle()的,不用自己实现。=。=不过似乎实现的方式差不多。。囧
【 在 singingwheat 的大作中提到: 】
: [code=java]
: class Card{
: Card(String name){
: ...................
哈? 其实lz用的是数组,不是list类啊...
【 在 aiquestion 的大作中提到: 】
: eclipse里面ctrl+shift+f是可以格式化代码的。 嗯。 对齐以后看起来容易一点。
: 然后我这可以运行。。囧。。
: 然后打乱的话可以用Collection.shuffle()的,不用自己实现。=。=不过似乎实现的方式差不多。。囧
啊,对,转成list就行了吧,比自己实现轻松一点。
【 在 renyi 的大作中提到: 】
: 哈? 其实lz用的是数组,不是list类啊...
: