双色球项目代码。
分成三个部分来写
1,先写入随机生成的6位红球和1位蓝球
2,写入让用户输入的7位幸运号码
3,两组数组之间进行比较
建议先将基本代码写出来,然后再慢慢加上一些细节代码,这样思路会更加清晰
//功能一,生成一个随机的7位双色球
public static int[] LuckNumber() {
//1.先定义数组存储
int[] numbers = new int[7];
Random r = new Random();
//2.使用循环遍历数组,先弄6个红球的数据
for (int i = 0; i < numbers.length - 1; i++) {
//3.随机生成的数字,放入数组
//4.随机数会生成相同的数字,每次生成前要去遍历前面的数字,是否有生成过。
// 如果有,就重新生成,直到前面没有一样的为止
numbers[i] = r.nextInt(33) + 1;
out:
for (int j = 0; j < i; j++) {
if (numbers[j] == numbers[i]) {
//生成一个新的随机数
numbers[i] = r.nextInt(33) + 1;
//重新跳转回去,再来一次遍历
break out;
}
}
}
///定义第二个功能,用户买票功能
public static int[] user() {
//1.定义动态数组,给用户输入7位数字
int[] a = new int[7];
Scanner sc = new Scanner(System.in);
//2.遍历数组,让用户输入所选的数字,先输入6位红球号码
System.out.println("请先输入红球号码");
for (int i = 0; i < 6; i++) {
System.out.print("请输入第" + (i + 1) + "个号码" + "\t");
int inpu = sc.nextInt();
a[i] = inpu;
//一,用户会输入错的情况有两种 1.输入重复了 2.输入的数字不是1-33内
//用一个死循环来判断
while (true) {
//利用一个前定义来判断,是否该结束while循环
boolean fale = true;
//第一种情况,用遍历来解决
for (int j = 0; j < i; j++) {
if (a[i] == a[j]) {
System.out.println("输入的数字重复,请重新选号");
inpu = sc.nextInt();
a[i] = inpu;
fale = false;
break;
}
}
//第二种情况,嵌套一个死循环
while (true) {
if (inpu > 33 || inpu < 1) {
System.out.println("你输入的号码超出范围,请重新输入");
inpu = sc.nextInt();
a[i] = inpu;
}
if (inpu <= 33 && inpu >= 1) {
break;
}
}
//如果fale == true 那么就代表着两个问题都没有问题
if (fale == true) {
break;
}
}
}
//3.红球录完录蓝球
System.out.println("请输入蓝球号码:");
a[6] = sc.nextInt();
//如果输入蓝球不在1-16的范围需要重新输入
while (true) {
if (a[6] > 16 || a[6] < 1) {
System.out.println("你输入的蓝球号码有误!!");
System.out.println("请重新输入");
a[6] = sc.nextInt();
}
if (a[6] <= 16 && a[6] >= 1) {
break;
}
}
return a;
}
//第三个功能
//实现两组数据的相互判断是否相等
public static void NumberContrast(int[] a, int[] b) {
//定义一个数组来存储中奖的号码
int[] Luck = new int[a.length];
int n = 0;
//没有顺序规则,所以使用嵌套for循环来判断是否有数字相等
//红球跟蓝球规则不一样,
for (int i = 0; i < a.length - 1; i++) {
for (int j = 0; j < b.length - 1; j++) {
if (a[i] == b[j]) {
// System.out.print("猜中号码为:" + b[j]);
n++;
break;
}
}
}
int m = 0;
if (a[a.length - 1] == b[b.length - 1]) {
m = 1;
}
System.out.println();
switch (m) {
case 0:
switch (n) {
case 4:
System.out.println("恭喜你中了10元小奖!");
break;
case 5:
System.out.println("恭喜你中了200元小奖!");
break;
case 6:
System.out.println("恭喜你中了500w元大奖!");
break;
case 0:
System.out.println("很遗憾你没有中奖");
break;
case 1:
System.out.println("很遗憾你没有中奖");
break;
case 2:
System.out.println("很遗憾你没有中奖");
break;
case 3:
System.out.println("很遗憾你没有中奖");
break;
}
break;
case 1:
switch (n) {
case 0:
case 1:
case 2:
System.out.println("恭喜你中了5元小奖!");
break;
case 3:
System.out.println("恭喜你中了10元小奖!");
break;
case 4:
System.out.println("恭喜你中了200元小奖");
break;
case 5:
System.out.println("恭喜你中了3000元大奖");
break;
case 6:
System.out.println("恭喜你中了1000w大奖元小奖");
break;
}
break;
}
System.out.println("你命中了几个红球:"+n);
System.out.print("你是否命中蓝球:");
if (m==0){
System.out.println("否");
}
else
System.out.println("是");
System.out.println("感谢你为福利事业做出的贡献");
}