java数组实现买*(二个一维数组的比较思想)

 1 /**
 2 设计一个程序,模拟从彩球池里随机抽取5个彩球(彩球池里一共有11个彩球,编号为1~11),
 3 要求在控制台打印出这5个被取出来的彩球的编号(注意编号不能重复)。
 4 思路:
 5 1、创建一个int类型的一维数组balls,用来保存11个彩球的编号
 6 2、创建一个boolean类型的一维数组flags,用来保存11个彩球的状态,默认全部为false
 7   (比如:flags[0]=true,意味着编号等于balls[0]的这个彩球已经被取出来了)
 8 3、去彩球池里取钱之前,先生成一个随机数,随机数的范围在0~10之间,
 9    根据产生的随机数的值去balls数组里取对应位置的彩球编号
10   (比如:
11     a.产生的随机数使用index变量保存
12     b.如果index值为3,则先判断编号等于balls[3]的彩球有没有被取出来过
13     c.如果没有被取过,则取出该球,即在控制台输出该球的编号
14     d.如果已经被取过了,则重复步骤a,b,c
15 16 4、需要取5次彩球(循环次数已知,可以使用for循环实现)
17 */
18 public class BallsTest{
19     public static void main(String[] args){
20         int[] balls = {1,2,3,4,5,6,7,8,9,10,11};
21         boolean[] flags = new boolean[11];
22         int index;
23         for(int i=0;i<5;i++){
24             do{
25                 index = (int)(Math.random()*11);
26                 if(flags[index]==false){
27                     System.out.print(balls[index]+"	");
28                     flags[index]=true;
29                     break;
30               }
31             }while(flags[index]);//或者while(flags[index]==true)
32         }
33     }
34 }
原文地址:https://www.cnblogs.com/1020182600HENG/p/5869481.html