双色球代码的编写
前言:为何要进行这个程序的编写?
太多人沉迷彩票,幻想自己可以中大奖,一步登天.
实则概率比自己被雷劈还小,希望此代码的编写,探究双色球本质
可以让沉迷之人惊醒,不要为此浪费时间和精力,得不偿失.
双色球的起始界面
首先我们应提醒用户输入投注号码,并在最后显示中奖号码,告知中奖情况.
public class text {
public static void main(String[] args) {
int[] user = user();
System.out.println("您投注的号码:");
printer(user);
int[] lucknumbers =lucknumbers();
System.out.println("中奖的号码:");
printer(lucknumbers);
judge(user,lucknumbers);
}
1.投注
引导用户输入正确范围的数字.进行投注 把输入过程写进死循环,当输入不符条件时,重新输入 因为红球和篮球限定范围不同,又需要重新一个死循环来完成投注. 因为红色球不能出现相同数字,最后需要一个布尔类型加死循环进行限制. 直至完成七个数字的输入.
int[] numbers = new int[7];
Scanner sc = new Scanner(![]()System.in);
for (int i = 0; i < numbers.length; i++) {
while (true) {
System.out.println("请你输入第"+(i+1)+"个红色球~~");
int number = sc.nextInt();
if (number < 1 || number > 33) {
System.out.println("亲~,超范围了~~请确认哦~~");
} else {
if (exist(numbers, number)) {
System.out.println("sorry,重复啦,请认真点哦~~");
} else {
numbers[i] = number;
break;
}
}
}
}
while (true) {
System.out.println("结束啦,请输入蓝球~~");
int number = sc.nextInt();
if (number < 1 || number > 16) {
System.out.println("范围怎么又不对!哼!~");
} else {
numbers[6] = number;
break;
}
}
return numbers;
}
private static boolean exist(int[] numbers, int number) {
for (int i = 0; i < numbers.length; i++) {
if(numbers[i] ==number){
return true;
}
}
return false;
}
对投注号码展示的方法
我们应以数组的方式对该投注的七个数字进行储存,并以正确的格式进行输出.
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
System.out.print(i ==arr.length-1?arr[i]:arr[i]+",");
}
System.out.println("]");
}
对数组进行遍历时,再通过三元运算符,输出正确格式.
2.中奖号码的随机生成
生成随机数,需要用到函数Random,同时注意函数中的那一位数不在其中,限定范围为32,函数中应写为33. 因为红色六个为一组,蓝色单独一个.所以要用到随机生成两个随机数. 最后将生成的七位数存入中奖号码数组中.
Random r = new Random();
int []numbers = new int[7];
for (int i = 0; i <numbers.length-1 ; i++) {
while (true){
int number = r.nextInt(33)+1;
if(!exist(numbers,number)){
numbers[i] = number;
break;
}
}
}
numbers[6] = r.nextInt(16)+1;
return numbers;
}
3.中奖核验方法
对投注号码和中奖号码进行遍历,同时记录红色球和蓝色球相同个数,最后打印告知用户
Random r = new Random();
int []numbers = new int[7];
for (int i = 0; i <numbers.length-1 ; i++) {
while (true){
int number = r.nextInt(33)+1;
if(!exist(numbers,number)){
numbers[i] = number;
break;
}
}
}
numbers[6] = r.nextInt(16)+1;
return numbers;
}
public static void judge(int[] user,int[]luckNumbers){
int red = 0;
int blue = 0;
for (int i = 0; i < user.length; i++) {
for (int j = 0; j < luckNumbers.length; j++) {
if(user[i] ==luckNumbers[j]){
red++;
break;
}
}
}
blue = user[6] ==luckNumbers[6]?1:0;
System.out.println("您命中的红球是:"+red);
System.out.println("您命中的红球是:"+blue);
4.判断中奖详情,并输出结果
根据不同的中奖情况,设置奖项,用户可多次体验,感知一等奖的中奖难度.
System.out.println("恭喜您,古茗奶茶一杯~,上门免费取!");
}else if(red == 6 && blue == 0){
System.out.println("恭喜您,中了一个嘴巴子,可以舒服一下了~~~");
}else if(red == 5 && blue == 1){
System.out.println("恭喜您,再抽一次!可以b溃了~");
}else if(red == 5 && blue == 0 ||red == 4 && blue == 1){
System.out.println("恭喜您,中了小奖:俯卧撑二十个~");
}else if(red == 4 && blue == 0 || red == 3 && blue == 1){
System.out.println("中了10元~,,,当然是骗你的~~~~");
}else if( red < 3 && blue == 1){
System.out.println("奖励你个锤子,运气这么差~");}
else {
System.out.println("傻瓜,一点运气都没有吧?!啊哈哈哈哈~~");
}