首页 > 技术文章 > Java 编程实践

shenxiaolin 2016-07-31 21:04 原文

  创建一个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]的数组如下所示:\n(此处以每行显示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("\n该随机抽取的12个不重复 的元素的数组b[12]为:");
        for (p = 0; p <12; p++) {
            System.out.print(b[p]+" ");
        }
    }
}

 

结果截图如下:

推荐阅读