package choujiang;

import java.util.ArrayList;

import java.util.HashSet;

import java.util.List;

import java.util.Random;

import java.util.Set;

public class wardness {

 public static void main(String[] args)

{   // TODO Auto-generated method stub   

    Random rand = new Random();  

//定义随机数产生器 

 List<Integer> list_One = new ArrayList<Integer>();   

//定义一等奖数字集合

   List<Integer> list = null; 

      //用list时  

   list = new ArrayList<Integer>();   

//定义100个随机数 集合     

  for(int i = 0; i < 100;)    

{      //产生100个3位数 的随机不重复数字    

if(check(rand.nextInt(899) + 100,list))      {          i++;        }

 //用set时
  Set<Integer> set = new HashSet<Integer>();
  while(set.size() < 100)
  {   set.add(rand.nextInt(899) + 100);  }
  list = new ArrayList<Integer>(set);  
  for(int k = 0; k < 5;)
  {//产生5个随机一等奖
  if(check(rand.nextInt(100),list))
  {    k++;   }  }
  for(int a = 0; a < list_One.size();a++)
  {   System.out.println(list_One.get(a));  } }
  }
       /**
      验证该数字是否在集合中  
      @param i  *
      @param list 
      @return  */
  public static boolean check(int i,List<Integer> list)
  {  if(list.size() == 0)
  {   list.add(i);  }
  else
  {   for(int j = 0; j < list.size(); j++)
  {    if(i == list.get(j))
  {     return false;    }   } 
  list.add(i);  } 
  return true; }
  /** 
    抽取随机数作为中奖的下标(重载) 
   @param i
   @param list 
   @param list_One 
   @return  */
  public static boolean check(int i,List<Integer> list,List<Integer> list_One)
  {  if(list.size() == 0)
  {   list_One.add(list.get(i));  }
  else
  {   for(int j = 0; j < list.size(); j++){    if(i == list.get(j))
  {     return false;    }   } 
  list_One.add(list.get(i));  }  return true; }
  }
  

 

posted on 2016-05-12 09:25  14软一王元浩  阅读(607)  评论(0编辑  收藏  举报