public class Gw{
public static void main(String[] args){
int key;
int suit[]=new int[13];
boolean sw[]=new boolean[52];[/color[color=#333399]]//能不能解释一下这句话
for(int i=0;i<suit.length;i++){
while(true){
key=(int)(Integer.MAX_VALUE*Math.random())%sw.length;//能不能解释一下这句话 if(sw[key]==false)break;
}
 suit[i]=key;
 sw[key]=true;
}
for(int i=0;i<suit.length;i++)
System.out.print(suit[i]+"  ");
System.out.println();
}
}
谢谢 帮忙看下 我是新手(实在不想说这4个字)!

解决方案 »

  1.   

    1 相当于boolean[] sw=new boolean[52]建立数组的时候[]可以写在变量后面或者类型后面,只是推荐写在类型后面。
    2 key=(int)(Integer.MAX_VALUE*Math.random())%sw.length
      怎么说呢。Integer.MAX_VALUE*Math.random()出来应该是double型,所以要转成key的int型,然后%表示求余。
      

  2.   

    key=(int)(Integer.MAX_VALUE*Math.random())%sw.length;将等号右面值赋给key这个变量Integer.MAX_VALUE 等于2147483647也就是2的31此方-1,表示无穷大Math.random()表示0-1之间随机小数后面就不说了。
      

  3.   


    第一句:
    声明一个boolean类型的数组,长度52。第二句: