题目:
代码演示
package com.itheima.basic_Grammar;
import java.util.Random;
import java.util.Scanner;
public class zonghe_lottery_ticket {
public static void main(String[] args) {
int[] arr = createnumber();
System.out.println("中奖号码为:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
int[] arruser = userNum();
// for (int i = 0; i < arruser.length; i++) {
// System.out.print(arruser[i] + " ");
// }
int redCount=0;
int blueCount=0;
//判断红球
for (int i = 0; i < arruser.length-1; i++) {
int rednum = arruser[i];
for (int j = 0; j < arr.length-1; j++) {
if (rednum==arr[j]){
redCount++;
// 如果找到了,那么后面的数字就没必要比较了
// 跳出内层循环,后进行下一个号码的比较
break;
}
}
}
//判断篮球
int blueNum = arruser[arruser.length-1];
if (blueNum==arr[arr.length-1]){
blueCount++;
}
if (redCount==6&&blueCount==1){
System.out.println("恭喜你,中奖1000万");
} else if (redCount==6&&blueCount==0) {
System.out.println("恭喜你,中奖500万");
} else if (redCount==5&&blueCount==1) {
System.out.println("恭喜你,中奖3000元");
} else if ((redCount==5&&blueCount==0)||(redCount==4&&blueCount==1)) {
System.out.println("恭喜你,中奖200");
} else if ((redCount==4&&blueCount==0)||(redCount==3&&blueCount==1)) {
System.out.println("恭喜你,中奖10");
} else if ((redCount==2&&blueCount==1)||(redCount==1&&blueCount==1)||(redCount==0&&blueCount==1)) {
System.out.println("恭喜你,中奖5");
}else {
System.out.println("谢谢参与!");
}
}
public static int[] userNum() {
int[] arr = new int[7];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 6; ) {
System.out.println("请输入第" + (i + 1) + "个红球号码");
int rednum = sc.nextInt();
if (rednum >= 1 && rednum <= 33) {
boolean flag = contains(arr, rednum);
if (!flag) {
arr[i] = rednum;
i++;//只有添加进去索引才能发生变化,不然浪费一次循环,导致号码个数不够.
} else {
System.out.println("您输入的号码以存在,请重新输入!");
}
} else {
System.out.println("输入有误!");
}
}
System.out.println("请输入蓝球号码:");
int bluenum = sc.nextInt();
while (true) {
if (bluenum <= 16 && bluenum >= 1) {
arr[arr.length - 1] = bluenum;
break;
} else {
System.out.println("输入有误!");
}
}
return arr;
}
public static int[] createnumber() {
int[] arr = new int[7];
Random r = new Random();
for (int i = 0; i < 6; ) {
//获取红球
int redNum = r.nextInt(33) + 1;
if (!contains(arr, redNum)) {
arr[i] = redNum;
i++;
}
}
//蓝球
int bluenum = r.nextInt(16) + 1;
arr[arr.length - 1] = bluenum;
return arr;
}
public static boolean contains(int[] arr, int num) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == num) {
return true;
}
}
return false;
}
}
运行演示;