目录
前言
学习几天的java后,根据教程写了一个基础的双色球抽奖系统,包含方法,数组,随机数,随机生成7个中奖号码,根据用户输入的号码来进行判断,是一个java基础程序,可以用于检验java学习.这个教程写的相对来说比较详细,我已经尽我所能把程序展开讲了一下
一、双色球抽奖系统
由系统随机6个红球 1个蓝球,红球范围在1-33,蓝球范围在1-16,红球每个数不能重复,蓝球可以与红球重.由用户输入7个号码,来进行判断
二、具体代码分析
1.创建随机数
代码如下
这里用int类型的方法来创建随机数,首先建立新数组表示7个随机数,将随机数的值赋给arr,
random建立随机,搞一个循环 表示6个红球的数量,代码可以看出,从red[0]开始每个循环给red数组建立一个随机数,下面的代码中有判断红球是否重复的代码,可以看出,如果不重复,那个将得到的red赋给arr[],并且进行i++;这样可以当你输入错误的时候不进行到下一步.
public static int [] creat(){
//创建随机
int []arr = new int [7];
Random r = new Random();//随机数
for (int i = 0; i < 6; ) {
int red= r.nextInt(33)+1;//33内随机
boolean flag = contains(arr,red);//判断是否重复
if(!flag){
arr[i]= red;//得到不重复的结果进行下一步
i++;//*******
}
}
int blue= r.nextInt(16)+1;//16内随机
arr[arr.length -1]=blue;//奖最后一个数放入
return arr;//得到的数组
}
2.判断重复
代码如下:
建立boolean类型的方法 可以从上面的代码看出,int number的作用就是将得到的随机数与前面的数组进行对比,成功返回true
public static boolean contains(int []arr,int number){
for (int i = 0; i < arr.length; i++) {
if(arr[i]==number){
return true;
}
}
return false;
}
该处运用布尔数据
3.用户输入
代码如下:
这里建立了int类型的方法,表示用户输入,得到了7个随机数以后,需要用户输入进行比较,来判断是否中奖,用scanner和for循环,输入1-6个红球号码,由于i=0为初始值,所以需要i+1;在for循环里面加入if判断,与随机数中的方法同理,在输入蓝球的号码中,运用while循环,来保证所输入的蓝球符合标准
public static int [] usernumber(){
int [] arr = new int [7];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 6; ) {
System.out