1.双色球中奖规则:
任意规定二等奖500万,一等奖1000万元。
投注号码由6个红色球号码(不可重复)和1个蓝色球号码,红色球1-33,蓝色球1-16 二.程序设计1.定义三个方法,一个方法来生成中奖号码,第二个方法让用户输入号码,第三个方法来判断中奖情况。
main方法:
public static void main(String[] args) {
int[] haoma = zhongjiang(); //方法1:随机生成中奖号码
int[] shoudong = xuanhao(); //方法2:用户输入号码
System.out.println("输入完成!");
System.out.print("您的投注号码是");
daying(shoudong);
panduan(haoma,shoudong); //方法3:判断中奖情况
}
接下来,编写方法1:随机生成中奖号码:
public static int[] zhongjiang() //中奖号码
{
int[] arr = new int[7];
Random rs = new Random();
for (int i = 0; i < arr.length; i++) {
while (true) //不能出现重复
{
int date = rs.nextInt(33) + 1; //0-32+1
boolean flag = true; //标记符
for (int j = 0; j < i; j++) {
if (arr[j] == date) {
flag = false;
break;
}
}
if (flag) {
arr[i] = date;
break;
}
}
}
arr[arr.length - 1] = rs.nextInt(16) + 1;
return arr;
}
编写方法2:用户输入号码:
public static int[] xuanhao() { //用户输入号码
int[] nums = new int[7];
Scanner sc = new Scanner(System.in);
int rs = 0;
System.out.println("红色球,在1-33之间输入"); //红色球号码
for (int i = 0; i < nums.length-1; i++) {
System.out.println("第" + (i + 1) + "个号码");
rs = sc.nextInt();
int date = rs;
if (rs >= 1 && rs <= 33) {
while (true) { //定义死循环,且判断是否重复
boolean flag = true;
for (int j = 0; j < i; j++) {
if (nums[j] == rs) {
flag = false;
System.out.println("红色球,不能输入重复的数字!请重新输入:");
rs = sc.nextInt();
}
}
if (flag) {
nums[i] = date;
break;
}
}
} else {
System.out.println("红色球输入号码不合法!,请重新输入");
rs = sc.nextInt();
date = rs;
if (rs >= 1 && rs <= 33) {
while (true) {
boolean flag = true;
for (int j = 0; j < i; j++) {
if (nums[j] == rs) {
flag = false;
System.out.println("红色球,不能输入重复的数字!请重新输入:");
rs = sc.nextInt();
}
}
if (flag) {
nums[i] = date;
break;
}
}
}
}
}
System.out.println("蓝色球,在1-16中输入");
while(true) {
int pp=sc.nextInt();
if (pp<1||pp>16)
{
System.out.println("蓝色球输入不合法,请重新输入!");
pp= sc.nextInt();
}
else
{
nums[nums.length-1]=pp;
break;
}
}
return nums;
}
最后,编写方法3,判断中奖情况:
public static void panduan(int arr1[],int arr2[]) //判断中奖情况
{
int shotred =0;
int shotblue=0;
for (int i = 0; i < arr2.length-1; i++) {
for (int j = 0; j < arr1.length-1; j++) {
if(arr2[i]==arr1[j])
{
shotred++;
break;
}
}
}
if(arr2[arr1.length-1]==arr1[arr1.length-1])
{
shotblue++;
}
System.out.println("中奖号码是:");
daying(zhongjiang());
System.out.println("命中了"+shotred+"个红色球号码");
System.out.println("命中了"+shotblue+"个蓝色球号码");
if(shotblue==1&&shotred<=2)
{
System.out.println("中奖5元!");
}
else if(shotblue==1&&shotred==3||shotblue==0&&shotred==4)
{
System.out.println("中奖10元!");
}
else if (shotblue==1&&shotred==4||shotblue==0&&shotred==5)
{
System.out.println("中奖200元!");
}
else if (shotblue==1&&shotred==5)
{
System.out.println("中奖3000元!");
}
else if (shotblue==0&&shotred==6)
{
System.out.println("中奖500万!");
}
else if (shotblue==1&&shotred==6)
{
System.out.println("中奖1000万!");
}
else {
System.out.println("很遗憾没有中奖,感谢您的参与");
}
}
}
遍历数组打印的方法4,
public static void daying(int [] arr)
{
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"t");
}
System.out.println();
}
三.运行程序:



