//初始化puke对象,否则palyer数组的值都是0。 puke p = new puke(); List play = Arrays.asList(player); Collections.shuffle(play); play.toArray(player); for(int i=1;i<=13;i++){ for(int j=1;j<=4;j++){ switch(player[i][j].type){ //case中都要加break否则会继续执行 case 1:{ System.out.print("黑桃"+player[i][j].num); break; } case 2:System.out.print("红桃"+player[i][j].num); case 3:System.out.print("梅花"+player[i][j].num); case 4:System.out.print("方片"+player[i][j].num); //最好加default: default: }
import java.util.*; class test1{ private int num=0; private int type=0; public test1(int num,int type){ this.num=num; this.type=type; } public void setNum(int num){ this.num=num; } public void setType(int type){ this.type=type; } public int getNum(){ return num; } public int getType(){ return type; } }public class puke{ public static void main(String args[]){ test1 player[][]= new test1[13][4]; for(int i=0;i<13;i++){ for(int j=0;j<4;j++){ player[i][j]=new test1(i+1,j+1); } } List play = Arrays.asList(player); Collections.shuffle(play); play.toArray(player); for(int i=0;i<13;i++){ for(int j=0;j<4;j++){ switch(player[i][j].getType()){ case 1:System.out.print("黑桃"+player[i][j].getNum()); case 2:System.out.print("红桃"+player[i][j].getNum()); case 3:System.out.print("梅花"+player[i][j].getNum()); case 4:System.out.print("方片"+player[i][j].getNum()); } System.out.println(); } } } }
我找到原因了 package test;import java.util.*;class test1{ int num; int type; }public class vv{ public static void main(String args[]){ int i = 0; int j = 0; test1[][] player= new test1[13][4]; for( i=0;i<13;i++){ for( j=0;j<4;j++){ player[i][j] = new test1();-----------------》这句话是关键所在 player[i][j].type=j; player[i][j].num=i; } } List play = Arrays.asList(player); Collections.shuffle(play); play.toArray(player); for( i=1;i<13;i++){ for( j=1;j<4;j++){ switch(player[i][j].type){ case 1:System.out.print("黑桃"+player[i][j].num); case 2:System.out.print("红桃"+player[i][j].num); case 3:System.out.print("梅花"+player[i][j].num); case 4:System.out.print("方片"+player[i][j].num); } System.out.println(); } } } }player[i][j] = new test1();没有这句话,player只是指向了一个数组,但是它不知道数组中每个元素是什么类型
puke p = new puke();
List play = Arrays.asList(player);
Collections.shuffle(play);
play.toArray(player);
for(int i=1;i<=13;i++){
for(int j=1;j<=4;j++){
switch(player[i][j].type){
//case中都要加break否则会继续执行
case 1:{
System.out.print("黑桃"+player[i][j].num);
break;
}
case 2:System.out.print("红桃"+player[i][j].num);
case 3:System.out.print("梅花"+player[i][j].num);
case 4:System.out.print("方片"+player[i][j].num);
//最好加default:
default:
}
for(int j=0;j<4;j++){
switch(player[i][j].type){
for(int i=1;i<=13;i++){
for(int j=1;j<=4;j++){
player[i-1][j-1] = new test1(); //加这句应该没问题了。
player[i-1][j-1].type=j;
player[i-1][j-1].num=i;
}
class test1{
private int num=0;
private int type=0;
public test1(int num,int type){
this.num=num;
this.type=type;
}
public void setNum(int num){
this.num=num;
}
public void setType(int type){
this.type=type;
}
public int getNum(){
return num;
}
public int getType(){
return type;
}
}public class puke{ public static void main(String args[]){
test1 player[][]= new test1[13][4];
for(int i=0;i<13;i++){
for(int j=0;j<4;j++){
player[i][j]=new test1(i+1,j+1);
}
}
List play = Arrays.asList(player);
Collections.shuffle(play);
play.toArray(player);
for(int i=0;i<13;i++){
for(int j=0;j<4;j++){
switch(player[i][j].getType()){
case 1:System.out.print("黑桃"+player[i][j].getNum());
case 2:System.out.print("红桃"+player[i][j].getNum());
case 3:System.out.print("梅花"+player[i][j].getNum());
case 4:System.out.print("方片"+player[i][j].getNum());
}
System.out.println();
}
}
}
}
package test;import java.util.*;class test1{
int num;
int type;
}public class vv{
public static void main(String args[]){
int i = 0;
int j = 0; test1[][] player= new test1[13][4]; for( i=0;i<13;i++){
for( j=0;j<4;j++){
player[i][j] = new test1();-----------------》这句话是关键所在
player[i][j].type=j;
player[i][j].num=i;
}
} List play = Arrays.asList(player);
Collections.shuffle(play);
play.toArray(player);
for( i=1;i<13;i++){
for( j=1;j<4;j++){
switch(player[i][j].type){
case 1:System.out.print("黑桃"+player[i][j].num);
case 2:System.out.print("红桃"+player[i][j].num);
case 3:System.out.print("梅花"+player[i][j].num);
case 4:System.out.print("方片"+player[i][j].num);
}
System.out.println();
}
}
}
}player[i][j] = new test1();没有这句话,player只是指向了一个数组,但是它不知道数组中每个元素是什么类型