首页 > 代码库 > java 彩票中奖程序

java 彩票中奖程序

  1 import java.io.*;  2 import java.util.Scanner;  3 import java.util.Random;  4 public class Lottery {  5     public int[] Ran(int x,int z,int y,int Is_repeat){//产生z到y的x个随机数,  6         //Is_repeat为0时随机数可以重复,1时不能重复  7         System.out.print("中奖号:");  8         int[] R=new int[x];  9         Random RR=new Random(); 10         for(int i=0;i<x;i++){ 11             R[i]=RR.nextInt(y-1)+z; 12             while(Is_repeat==1&&Exist(R[i],R,i)!=-1) 13                 R[i]=RR.nextInt(y)+1;//若随机数重复,就重新生成 14             System.out.print(R[i]+"\t"); 15         } 16         return R; 17     }; 18     public int Exist(int x,int r[],int number_r){//数字x是否存在于r 19         for(int i=0;i<number_r;i++){ 20             if(x==r[i]) 21                 return i; 22         } 23         return -1; 24     } 25     public int Ncount(int[] a,int number_a,int r[],int number_r,int queue){ 26         //两个数组之间有几个相同的数, 27         //数目为number_a的a数组在数目为number_r的r数组有几个相同的数,若queue=1时 28         //返回的数为有连续相同的位数的个数,为0时则不用连续 29         System.out.println(); 30         System.out.print("选择号:"); 31         int count=0; 32         if(queue==0){ 33             for(int i=0;i<number_a;i++){ 34                 System.out.print(a[i]+"\t"); 35                 if(new Lottery().Exist(a[i], r, number_r)!=-1) 36                     count++; 37             } 38         } 39         else{ 40             int teap=0; 41             for(int i=0;i<number_a-1;i++){ 42                 System.out.print(a[i]+"\t"); 43                 int s=new Lottery().Exist(a[i], r, number_r); 44                 if(s!=-1){ 45                     teap++; 46                     if(s<number_a-1&&a[i+1]==r[s+1]){ 47                         continue; 48                     } 49                     else{ 50                         if(teap>count){ 51                             count=teap; 52                             teap=0; 53                             } 54                         } 55                     } 56                 } 57             System.out.print(a[number_a-1]+"\t"); 58         } 59         return count; 60     } 61  62     public static void main(String[]args){ 63         String game1="玩法1(21选5):输入五个不重复的数(从1到21选)"; 64         System.out.println(game1); 65         String game2="玩法2(6+1):输入7个数字,最后一位特别号(从0到9选)"; 66         System.out.println(game2); 67         System.out.print("请问您选择哪种玩法(1/2):"); 68         //BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); 69         Scanner idata=http://www.mamicode.com/new Scanner(System.in); 70         int s=idata.nextInt(); 71         try{ 72             //s=in.readLine(); 73             if(s==1||s==2){ 74                 if(s==1){ 75                     System.out.println("请输入五个不重复的数:"); 76                     int[] a=new int[5]; 77                     a[0]=idata.nextInt(); 78                     a[1]=idata.nextInt(); 79                     a[2]=idata.nextInt(); 80                     a[3]=idata.nextInt(); 81                     a[4]=idata.nextInt(); 82                     int[] ran=new Lottery().Ran(5,1,21,1); 83                     int count0=new Lottery().Ncount(a,5,ran,5,0); 84                     System.out.println(); 85                     System.out.println("count0="+count0); 86                     switch(count0){ 87                     case 0: 88                     case 1: 89                     case 2: 90                         System.out.println("未得奖,相同个数为——"+count0); 91                         break; 92                     case 3: 93                         System.out.println("三等奖,相同个数为——"+count0); 94                         break; 95                     case 4: 96                         System.out.println("二等奖,相同个数为——"+count0); 97                         break; 98                     case 5: 99                         System.out.println("一等奖,相同个数为——"+count0);100                         break;101                     }102                 }103                 else{104                     System.out.println("请输入七个数:");105                     int[] a=new int[7];106                     a[0]=idata.nextInt();107                     a[1]=idata.nextInt();108                     a[2]=idata.nextInt();109                     a[3]=idata.nextInt();110                     a[4]=idata.nextInt();111                     a[5]=idata.nextInt();112                     a[6]=idata.nextInt();113                     int[] ran=new Lottery().Ran(7,0,10,0);114                     int count0=new Lottery().Ncount(a,7,ran,7,1);115                     System.out.println();116                     System.out.println("count0="+count0);117                     switch(count0){118                     case 0:119                     case 1:120                     case 2:121                         System.out.println("未得奖,连续相同个数为——"+count0);122                         break;123                     case 3:124                         System.out.println("四等奖,连续相同个数为——"+count0);125                         break;126                     case 4:127                         System.out.println("三等奖,连续相同个数为——"+count0);128                         break;129                     case 5:130                         System.out.println("二等奖,连续相同个数为——"+count0);131                         break;132                     case 6:133                         System.out.println("一等奖,连续相同个数为——"+count0);134                         break;135                     case 7:136                         System.out.println("特等奖,连续相同个数为——"+count0);137                         break;138                         }139                 }140                 141             }else 142                 System.out.println("输入有误");143         }catch(Exception e){System.out.println(e);};144         145     }146 }

 

java 彩票中奖程序