规则:
红色球号码中选择6个号码,从蓝色球号码中选择1个号码,组合为一注
红色球号码的范围为1-33(且不能重复),蓝色球号码为1-16;
中奖方法为:
红 | 6 | 6 | 5 | 5 | 4 | 2 |
蓝 | 1 | 0 | 1 | 0 | 1 | 1 |
奖金 | 1000 | 500 | 300 | 200 | 10 | 5 |
根据规则要创建一个6+1的数组,并随机生成中奖号码。
public static int[] createNumber() {
//添加中奖号码
//6红1蓝
int arr[] = new int[7];
//随机生成
Random r = new Random();
for(int i=0; i<6; ) {
//获取红球号码
int redNumber = r.nextInt(33)+1;
boolean flag = contains(arr, redNumber);
if(!flag) {
arr[i]=redNumber;
i++;
}
}
//生成篮球号码
int bludNumber = r.nextInt(16)+1;
arr[arr.length-1] = bludNumber;
return arr;
}
再创建一组6+1的数组来模拟用户所购买的号码
public static int[] userInputNumber(){
//创建数组用于添加用户购买的彩票号码
int arr[] = new int[7];
//用户输入
Scanner sc = new Scanner(System.in);
//红球
for(int i=0;i<6;){
System.out.println("请输入"+ (i+1)+"红球号码");
int redNumber = sc.nextInt();
if(redNumber>=1&&redNumber<=33) {
boolean flag = contains(arr,redNumber);
if(!flag){
arr[i]=redNumber;
i++;
}else {
System.out.println("已存在");
}
}else {
System.out.println("超出范围");
}
}
//输入蓝球
System.out.println("输入篮球号码");
while (true) {
int blueNumber = sc.nextInt();
if(blueNumber>=1&&blueNumber<=16){
arr[arr.length-1]=blueNumber;
break;
}else {
System.out.println("超出范围");
}
}
return arr;
}
判断数组是否创建成功
//判断数组是否存在
public static boolean contains(int[] arr, int number) {
for(int i=0;i<arr.length;i++) {
if(arr[i]==number) {
return true;
}
}
return false;
}
最终根据两组数组中号码对比,告诉用户中多少奖金。
int buleNumber = userInputArr[userInputArr.length-1];
if(buleNumber == 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("中300");
}else if(redCount==5&&blueCount==0) {
System.out.println("中200");
}else if(redCount==4&&blueCount==0) {
System.out.println("中10");
}else if(redCount==2&&blueCount==1) {
System.out.println("中5");
}else {
System.out.println("未中奖");
}
}
效果图呈现(最上面一行为中奖号码):
程序完整代码:
import java.util.Random;
import java.util.Scanner;
public class ShuangSeQiu {
public static void main(String[] arge) {
//生成中奖号码
int arr[] = createNumber();
System.out.println("==============");
for (int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
System.out.println("==============");
//用户输入号码
int [] userInputArr = userInputNumber();
//判断
int redCount = 0;
int blueCount = 0;
for(int i=0 ;i<userInputArr.length;i++){
int redNumber = userInputArr[i];
for(int j=0;j< arr.length-1;j++){
if(redNumber == arr[j]){
redCount++;
break;
}
}
}
int buleNumber = userInputArr[userInputArr.length-1];
if(buleNumber == 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("中300");
}else if(redCount==5&&blueCount==0) {
System.out.println("中200");
}else if(redCount==4&&blueCount==0) {
System.out.println("中10");
}else if(redCount==2&&blueCount==1) {
System.out.println("中5");
}else {
System.out.println("未中奖");
}
}
public static int[] userInputNumber(){
//创建数组用于添加用户购买的彩票号码
int arr[] = new int[7];
//用户输入
Scanner sc = new Scanner(System.in);
//红球
for(int i=0;i<6;){
System.out.println("请输入"+ (i+1)+"红球号码");
int redNumber = sc.nextInt();
if(redNumber>=1&&redNumber<=33) {
boolean flag = contains(arr,redNumber);
if(!flag){
arr[i]=redNumber;
i++;
}else {
System.out.println("已存在");
}
}else {
System.out.println("超出范围");
}
}
//输入蓝球
System.out.println("输入篮球号码");
while (true) {
int blueNumber = sc.nextInt();
if(blueNumber>=1&&blueNumber<=16){
arr[arr.length-1]=blueNumber;
break;
}else {
System.out.println("超出范围");
}
}
return arr;
}
public static int[] createNumber() {
//添加中奖号码
//6红1蓝
int arr[] = new int[7];
//随机生成
Random r = new Random();
for(int i=0; i<6; ) {
//获取红球号码
int redNumber = r.nextInt(33)+1;
boolean flag = contains(arr, redNumber);
if(!flag) {
arr[i]=redNumber;
i++;
}
}
//生成篮球号码
int bludNumber = r.nextInt(16)+1;
arr[arr.length-1] = bludNumber;
return arr;
}
//判断数组是否存在
public static boolean contains(int[] arr, int number) {
for(int i=0;i<arr.length;i++) {
if(arr[i]==number) {
return true;
}
}
return false;
}
}
至此JavaSE练习——双色球小编已经分享完了。
感谢每一个观看本篇文章的朋友,更多精彩敬请期待。
文章多处存在借鉴,如有侵权请联系修改删除!