算法入门--模拟彩票

/*请编写一个小程序,模拟彩票机
每次运行生成一个长度为7的数组,要求每个数字范围是 1-9,并且没有重复数字
例如: [7, 6, 4, 9, 1, 8, 2]
[8, 6, 9, 4, 5, 7, 2]
[5, 1, 7, 2, 6, 3, 4]*/

    public class Caipiao {
    public static void print( )
    {
         Random r = new Random();
         int a[] = new int[7];
         boolean b[] = new boolean[7];
         int k = 0;
         for(int i=0;i<7;i++)
         {
             do{
                 k = r.nextInt(7);
             }while(b[k]);

             b[k] =true;
             a[i] = k;

         }

         for(int i=0;i<7;i++)
         {
             System.out.print(a[i]+" ");
         }


    }

    public static void fun()
    {
        int arr[] = new int[7];
        boolean b[] = new boolean[7];
        int k =0;
        Random r = new Random();
        for(int i=0;i<7;i++)
        { 
            do{
             k = r.nextInt(7);  
            }
            while(b[k]);  // 当b[k]为false才跳出循环,为真时说明已经K值,继续循环,
            b[k] = true;
            arr[i] = k;  // 把k值赋值给数组
        }
        for(int j=0;jout.print(arr[j]+" ");
        }

    }

    public static void main(String[]args)
    {

         System.out.print("[");
         print();
        System.out.print("]");

    }

}

你可能感兴趣的:(JAVA,算法)