package TestDemo;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/**
* 双色球案例
*
*/
public class TestDemo10 {
public static void main(String[] args) {
int[] num = new int[7];
int[] guess_num = new int[7];
int[] guess_lucky = new int[7];
int[] guess_numLucky = null;
int red = 0;//定义蓝球
int[] guess_numLottery = guess(guess_num);
int[] guess_numResult = lottery(num);
Arrays.sort(guess_numResult);
Arrays.sort(guess_numLottery);
for (int i = 0; i < 6; i++) {
if (guess_numResult[i] == guess_numLottery[i]) {
guess_lucky[i] = guess_numResult[i];
}else {
guess_lucky[i] = 0;
}
}
Arrays.sort(guess_lucky);
for (int i = 0; i < guess_lucky.length ; i++) {
if (guess_lucky[i] == 0) {
guess_numLucky = Arrays.copyOf(guess_lucky,i+1);
break;
}else if(i == 6){
guess_numLucky = Arrays.copyOf(guess_lucky,i);
}
}
if (guess_numResult[6] == guess_numLottery[6]) {
red = 1;
}
if ((guess_numLucky.length == 0 && red == 0)||guess_numLucky.length == 1) {
System.out.println("很遗憾,没中奖~");
}else if ((guess_numLucky.length == 0 && red == 1)||(guess_numLucky.length == 1&&red==1)||(guess_numLucky.length == 2 && red == 0)) {
System.out.println("恭喜您!中奖5元!");
}else if ((guess_numLucky.length == 3&&red == 1)||guess_numLucky.length == 4 && red == 0) {
System.out.println("恭喜您!中奖10元!");
}else if ((guess_numLucky.length == 4&&red == 1)||guess_numLucky.length == 5&& red == 0) {
System.out.println("恭喜您!中奖200元!");
}else if (guess_numLucky.length == 5 && red == 1) {
System.out.println("恭喜您!中奖3000元!");
}else if (guess_numLucky.length ==6 && red == 0) {
System.out.println("恭喜您!中奖20万!");
}else if (guess_numLucky.length == 6 && red == 1) {
System.out.println("恭喜您,中奖500万!");
}
}
private static int[] guess(int[] guess_num) {
for (int i = 0; i < guess_num.length; i++) {
if (i != 6) {
System.out.println("请输入第" + (i+1) + "位红球号码 1-33");
guess_num[i] = new Scanner(System.in).nextInt();
if (guess_num[i] <=33 && guess_num[i] >0) {
continue;
}else {
System.out.println("请输入1-33范围内的数字!");
i--;
}
}else {
System.out.println("请输入蓝球号码 1-16");
guess_num[i] = new Scanner(System.in).nextInt();
if (guess_num[i] <= 16 && guess_num[i] > 0) {
continue;
}else {
System.out.println("请输入1-16范围内的数字!");
}
}
}
System.out.println("请确认您选择的号码是\n"+Arrays.toString(guess_num));
return guess_num;
}
private static int[] lottery(int[] num) {
for (int i = 0; i < 6; i++) {
num[i] = new Random().nextInt(33);
if (num[i] == 0) {
i--;
}
}
for (int i = 0; i < 1; i++) {
num[6] = new Random().nextInt(16);
if (num[6] == 0) {
i--;
}
}
System.out.print("中奖号码是: \n"+Arrays.toString(num)+"\n");
return num;
}
}
代码执行结果:
请输入第1位红球号码 1-33
12
请输入第2位红球号码 1-33
15
请输入第3位红球号码 1-33
31
请输入第4位红球号码 1-33
23
请输入第5位红球号码 1-33
11
请输入第6位红球号码 1-33
23
请输入蓝球号码 1-16
13
请确认您选择的号码是
[12, 15, 31, 23, 11, 23, 13]
中奖号码是:
[32, 5, 28, 24, 15, 4, 6]
很遗憾,没中奖~