Java双色球小游戏
六个红球,一个蓝球,会随机生成与用户猜测的进行判断以及显示获得的奖励
public class shuangseqiuGame {
public static void main(String[] args) {
// 1.随机6个红球号码不能重复(1-33),随机一个蓝球号码(1-16)
int[] LuckNumbers = createLuckNumber();
// printArray(LuckNumbers);
// 2.调用一个方法 让用户输入7个号码 作为用户选号
int[] userNumbers = userInputNumbers();
// printArray(userNumbers);
// 3.判断中奖情况
judge(LuckNumbers, userNumbers);
}
public static void judge(int[] LuckNumbers,int[] userNumbers) {
// 判断是否中奖了
// 定义2个变量,分别存储猜中红球个数和猜中篮球个数
int redHitNumbers = 0;
int blueHitNumbers = 0;
// 判断红球猜中了几个,开始统计
for (int i=0;i<userNumbers.length - 1;i++) {
for (int j=0;j<LuckNumbers.length - 1;j++) {
if(userNumbers[i] == LuckNumbers[j]) {
redHitNumbers ++;
break;
}
}
}
// 蓝球号码是否猜中了
blueHitNumbers = LuckNumbers[6] == userNumbers[6] ? 1 : 0;
System.out.println("中奖号码是: ");
printArray(LuckNumbers);
System.out.println("你投注的号码是: ");
printArray(userNumbers);
System.out.println("你猜中了"+redHitNumbers+"个红球");
System.out.println("你是否猜中蓝球:"+ (blueHitNumbers == 1 ? "是" : "否"));
// 判断中奖情况
if(blueHitNumbers == 1 && redHitNumbers < 3) {
System.out.println("恭喜你,中了5元六等奖!");
} else if(blueHitNumbers == 1 && redHitNumbers == 3 || blueHitNumbers == 0 && redHitNumbers == 4) {
System.out.println("恭喜你,中了10元五等奖!!");
} else if(blueHitNumbers == 1 && redHitNumbers == 4 || blueHitNumbers == 0 && redHitNumbers == 5) {
System.out.println("恭喜你中了200元四等奖!!!");
} else if(blueHitNumbers == 1 && redHitNumbers == 5) {
System.out.println("恭喜你中了3000元三等奖!!!!");
} else if(blueHitNumbers == 0 && redHitNumbers == 6) {
System.out.println("恭喜你中了最高500万元二等奖!!!!!");
} else if(blueHitNumbers == 1 && redHitNumbers == 6) {
System.out.println("恭喜你中了最高1000万元一等奖!!!!!!");
}
}
public static int[] userInputNumbers() {
// 定义一个数组存储7个号码
int[] numbers = new int[7];
// 让用户录入6个红球号码
Scanner scanner = new Scanner(System.in);
for (int i=0;i<numbers.length - 1;i++) {
System.out.println("请您输入第" +(i+1)+"个红球号码: (1 - 33之间,不可以重复)");
int data = scanner.nextInt();
// 把当前录入的数据存入到数组中去
numbers[i] = data;
}
// 单独录入一个篮球号码
System.out.println("请你输入蓝球号码: (1 - 16之间)");
numbers[6] = scanner.nextInt();
return numbers;
}
public static int[] createLuckNumber() {
// 定义一个动态初始化的数组,储存7个数字
int[] numbers = new int[7];
// 遍历数组,为每个位置生成对应的数组
Random random = new Random();
for (int i=0;i<numbers.length - 1;i++) {
// 找出1-33不重复的数字
while (true) {
int data = random.nextInt(33) + 1;
// 定义一个flag变量,默认data是没有重复的
boolean flag= true;
for (int j = 0; j<i;j++) {
if(numbers[j] == data) {
// 随机数据重复,不可以使用
flag = false;
break;
}
}
if(flag) {
// 随机数没有重复,可以使用
numbers[i] = data;
break;
}
}
}
// 为第7个位置生成一个1-16的随机号码作为篮球
numbers[numbers.length - 1] = random.nextInt(16) + 1;
return numbers;
}
public static void printArray(int[] arr) {
for (int i=0;i<arr.length;i++) {
System.out.print(arr[i] + "\t");
}
System.out.println();
}
}
Java入门小游戏,参考啦