java随机数:彩票抽奖 + 验证码

 1 package 随机数;
 2 
 3 import java.util.Random;
 4 
 5 public class 彩票抽奖 {
 6 
 7     public static void main(String[] args) {
 8         // TODO 自动生成的方法存根
 9 
10         
11          //彩票抽奖。在1~36之间随机7个数,且不能重复。1定义数组2实例化随机数3生成随机序列4对产生的数验证5去0;6去重复7输出
12         
13         
14           int[] cp = new int[7];//定义一个数组,长度是7
15           Random dom = new Random();//先实例化随机变量
16           System.out.println("抽到的彩票号码是:");
17           for(int i=0; i<cp.length; i++)
18           {
19               int t = dom.nextInt(36);//定义随机数的取值范围,接收随机数
20               
21               
22               
23               //对产生的数字进行验证.如果出现0,那么要重新生成一个数。
24               //只要出现0就continue,继续生成一个数,直到没有0出现。 
25               if(t==0)  //
26               {
27                  i--;   //
28                  continue;//
29               }
30               
31               
32               
33               //验证完成后,去重复。检查重新生成的数是否与其他数重复
34               else
35               {
36                   boolean h = false;//定义h
37                   for(int c:cp)//遍历。使每一个数都和他前面的所有数挨个比较
38                   {
39                       if(c==t)//,如果有重复就执行下面语句。不重复就返回for。
40                       {
41                           i--;
42                           h = true;
43                           break;//break中断,只要出现重复数字就返回,不必在和后面的数比较了。
44                       }
45                   }
46                   
47                   if(h)
48                   {
49                       continue;//
50                      
51                   }
52               }
53             
54               cp[i]=t;
55               
56           }
57           
58           for(int c:cp)  //遍历数组输出
59           {
60               System.out.print(c+" ");
61           }
62         
63           System.out.println("\n");
64         
65         
66         
67         
68         
69          //生成验证码
70           String ran1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";//定义字符串
71           int number = ran1.length();//ran1的长度
72           Random ran = new Random();//实例化随机数
73           System.out.print("生成验证码:");
74           for(int i=0; i<4; i++)
75           {
76             int a = ran.nextInt(number-1);//从61中随机取数
77             String a1 = ran1.substring(a, a+1);//截取第a+1个字符
78             System.out.print(a1);
79           }
80           
81 
82         
83     }
84 
85 }






 

posted on 2016-01-16 00:19  年少不上班  阅读(960)  评论(0编辑  收藏  举报

导航