首页 > 代码库 > java数组实现买彩票(二个一维数组的比较思想)

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,c15 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]+"\t");28                     flags[index]=true;29                     break;30               }31             }while(flags[index]);//或者while(flags[index]==true)32         }33     }34 }

 

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