双色球系统 投注号码由6个红球号码和1个蓝球号码组成 红球从1~33之间选择 蓝球从1~16之间选择
package org.example;
import java.util.Random;
import java.util.Scanner;
public class Method19 {
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("\n" + "===========================");
int[] userInputArr = userInputNumber();
int redCount = 0 ;
int blueCount = 0 ;
for (int i = 0; i < userInputArr.length - 1 ; i++) {
for ( int i1 = 0; i1 < arr.length - 1 ; i1++) {
if ( userInputArr[i] == arr[i1] ){
redCount ++ ;
break ;
}
}
}
if ( userInputArr[userInputArr.length - 1] == 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[] 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(){
int[] arr = new int[7];
Random r = new Random();
for (int i = 0; i < arr.length - 1 ; ) {
int number = r.nextInt(33) + 1 ;
boolean flag = contains( arr , number ) ;
if ( !flag ){
arr[i] = number ;
i ++ ;
}
}
arr[arr.length - 1] = r.nextInt(16) + 1 ;
return arr ;
}
public static boolean contains(int[] arr , int number ){
for (int i = 0; i < arr.length; i++) {
if ( number == arr[i] ){
return true ;
}
}
return false ;
}
}