创建一个54个元素的整数数组,并将其元素值依次赋值为:1~54,用于表示一副牌的54张。再创建一个12个元素的整数数组,用于表示某玩家手中的牌,然后从前一数组中随机抽取12个元素赋值给该数组。打印后一数组的值。(可不考虑重复抽取问题,如有能力,可以解决此问题)
程序代码:
public class Test1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //创建一个54个元素的整数数组a[54] int[] a = new int[54]; System.out.println("该54个元素a[54]的数组如下所示: (此处以每行显示6个,共9行方阵显示)"); for(int i=0;i<54;i++){ a[i]=i+1; System.out.print(a[i]+" "); if (a[i]%9==0) { System.out.println(""); } } //创建一个从数组a[54]中随机抽取(按照数组下标抽取)的12个元素的整数数组b[12] int[] b = new int[12]; int p,q; for ( p = 0; p < b.length; p++) { q=(int) (Math.random() * 53); //q取0~53任意值,即数组下标,其中random()取值:0~1 b[p]=a[q]; //若发现有重复元素,则删除掉该元素,重新取值直到不重复为止 for (int j = 0; j < p; j++) { if (b[j]==b[p]) { p--; break; } } } //将从数组a[54]中随机抽取的12个元素数组b[12]打印出来。 System.out.println(" 该随机抽取的12个不重复 的元素的数组b[12]为:"); for (p = 0; p <12; p++) { System.out.print(b[p]+" "); } } }
结果截图如下: