package Study;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/*面向过程的设计思维:
一.系统生成红球和篮球
1.随机产生6个红球,(取值范围1-33);
2.随机产生1个蓝球,(取值范围1-6);
二.用户选球
接收用户选球的情况。
三.校验中奖情况
1.判断用户选择的球和系统产生的是否一致。
2.判断用户中奖还是没中奖,中了几等奖。
*QQ2240622572
*验证:宝塔镇河妖。
*欢迎java新手共同进步
* */
public class DoubleBall {
public static void main(String[] args){
int sysBlueBallNum;//系统生成的篮球号。
int[] sysRedBallNum=new int[6];//系统生成的红球号。
int uesrBlueBallNum=0;//用户选择的篮球号。
int[] userRedBallNum=new int[6];//用户选择的红球号。
int blueBall = 0;//校验系统的篮球号是否正确。
int redBall=0;//校验系统的红球号是否正确。
SimpleDateFormat times=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//产生投注的系统时间
String time=times.format(new Date());//产生投注的系统时间
SimpleDateFormat timesDays=new SimpleDateFormat("yyyyMMdd");//显示当前投注期数
String timeDay=timesDays.format(new Date());
Random r=new Random();//产生随机数
Scanner input=new Scanner(System.in);
int[] redNum={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
int[] userRedNum={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
//----系统随机产生1颗篮球。
sysBlueBallNum=r.nextInt(16)+1;
//----系统随机产生6颗红球。
for(int i=0;i<sysRedBallNum.length;i++){ //循环产生6颗红球
while(true){ //如果红球已经被选择,则该数值填充为0;如果该值为0,则break本次循环;
int index=r.nextInt(33);
if(redNum[index]!=0){
sysRedBallNum[i]=redNum[index];
redNum[index]=0;
break;
}
}
}
System.out.println("\n白日梦想家V1.0版本双色球\n第"+timeDay+"期,请您投注:\n---------------");
//----键入用户输入的蓝球;并验证用户输入篮球的合法性。
do{
System.out.println("请输入您要选择的1个【蓝球】(1-16):");
uesrBlueBallNum=input.nextInt();
if(uesrBlueBallNum>16||uesrBlueBallNum<0){
System.out.println("您输入的蓝球取值有误!请重新选择!");
}
}while(uesrBlueBallNum>16||uesrBlueBallNum<0);
System.out.println("篮球已经成功选择!");
System.out.println("请依次输入您要选择的6个【红球】(1-33),中间以空格隔开:");
//----键入用户输入的红球;并验证用户输入红球的合法性。
String msg="初始化用户输入状态";
for(int i=0;i<userRedBallNum.length;i++){
userRedBallNum[i]=input.nextInt();//记录用户输入的号码。 //判断.如果用户输入中有如果有重复号码,则跳出本次循环.
}
for(int i=0;i<userRedBallNum.length;i++){
for(int j=i+1; j<userRedBallNum.length;j++){
if(userRedBallNum[i]>0&&userRedBallNum[i]<34){
if(userRedBallNum[i]==userRedBallNum[j]){
msg="您选择的号码有重复!程序关闭!";
System.out.println(msg);
System.exit(0);
}
}else{
msg="您输入的号码超过范围(1~33)!程序关闭!";
System.out.println(msg);
System.exit(0);
}
}
}
//----开奖结果
System.out.println("\n---------------\n【"+timeDay+"期开奖结果为:】");
Arrays.sort(sysRedBallNum);
for(int i=0;i<sysRedBallNum.length;i++){
if(i==0){
System.out.print("红球:\t");
}
System.out.print(sysRedBallNum[i]+"\t");
if(i==5){
System.out.print("\n篮球:\t"+sysBlueBallNum);
}
}
//----循环判断用户是否中奖
//1.验证篮球是否匹配
if(uesrBlueBallNum==sysBlueBallNum){
blueBall=1;
}
//2.验证红球是否匹配
for(int j=0;j<userRedBallNum.length;j++){
for(int i=0;i<userRedBallNum.length;i++){
if(userRedBallNum[i]==sysRedBallNum[j]){
redBall++;
break;
}
}
}
//用户投注结果
System.out.println("\n---------------\n"+"【您的投注是:】");
Arrays.sort(userRedBallNum);
for(int i=0;i<userRedBallNum.length;i++){
if(i==0){
System.out.print("红球:\t");
}
System.out.print(userRedBallNum[i]+"\t");
if(i==5){
System.out.print("\n篮球:\t"+uesrBlueBallNum);
}
}
System.out.print("\n投注时间:"+time);
//----判断是否中奖
if(blueBall==1&&redBall==6){
System.out.println("\n----------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,一等奖!奖金500W.");
}else if(redBall==6){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,二等奖!");
}else if(blueBall==1&&redBall==5){
System.out.println("---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,三等奖!");
}else if(redBall==5||(redBall==4&&blueBall==1)){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,四等奖!");
}else if(redBall==4||(redBall==3&&blueBall==1)){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,五等奖!");
}else if(blueBall==1){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,六等奖!");
}else{
System.out.print("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n很遗憾,您没有中奖!");
}
}
}
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/*面向过程的设计思维:
一.系统生成红球和篮球
1.随机产生6个红球,(取值范围1-33);
2.随机产生1个蓝球,(取值范围1-6);
二.用户选球
接收用户选球的情况。
三.校验中奖情况
1.判断用户选择的球和系统产生的是否一致。
2.判断用户中奖还是没中奖,中了几等奖。
*QQ2240622572
*验证:宝塔镇河妖。
*欢迎java新手共同进步
* */
public class DoubleBall {
public static void main(String[] args){
int sysBlueBallNum;//系统生成的篮球号。
int[] sysRedBallNum=new int[6];//系统生成的红球号。
int uesrBlueBallNum=0;//用户选择的篮球号。
int[] userRedBallNum=new int[6];//用户选择的红球号。
int blueBall = 0;//校验系统的篮球号是否正确。
int redBall=0;//校验系统的红球号是否正确。
SimpleDateFormat times=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//产生投注的系统时间
String time=times.format(new Date());//产生投注的系统时间
SimpleDateFormat timesDays=new SimpleDateFormat("yyyyMMdd");//显示当前投注期数
String timeDay=timesDays.format(new Date());
Random r=new Random();//产生随机数
Scanner input=new Scanner(System.in);
int[] redNum={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
int[] userRedNum={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
//----系统随机产生1颗篮球。
sysBlueBallNum=r.nextInt(16)+1;
//----系统随机产生6颗红球。
for(int i=0;i<sysRedBallNum.length;i++){ //循环产生6颗红球
while(true){ //如果红球已经被选择,则该数值填充为0;如果该值为0,则break本次循环;
int index=r.nextInt(33);
if(redNum[index]!=0){
sysRedBallNum[i]=redNum[index];
redNum[index]=0;
break;
}
}
}
System.out.println("\n白日梦想家V1.0版本双色球\n第"+timeDay+"期,请您投注:\n---------------");
//----键入用户输入的蓝球;并验证用户输入篮球的合法性。
do{
System.out.println("请输入您要选择的1个【蓝球】(1-16):");
uesrBlueBallNum=input.nextInt();
if(uesrBlueBallNum>16||uesrBlueBallNum<0){
System.out.println("您输入的蓝球取值有误!请重新选择!");
}
}while(uesrBlueBallNum>16||uesrBlueBallNum<0);
System.out.println("篮球已经成功选择!");
System.out.println("请依次输入您要选择的6个【红球】(1-33),中间以空格隔开:");
//----键入用户输入的红球;并验证用户输入红球的合法性。
String msg="初始化用户输入状态";
for(int i=0;i<userRedBallNum.length;i++){
userRedBallNum[i]=input.nextInt();//记录用户输入的号码。 //判断.如果用户输入中有如果有重复号码,则跳出本次循环.
}
for(int i=0;i<userRedBallNum.length;i++){
for(int j=i+1; j<userRedBallNum.length;j++){
if(userRedBallNum[i]>0&&userRedBallNum[i]<34){
if(userRedBallNum[i]==userRedBallNum[j]){
msg="您选择的号码有重复!程序关闭!";
System.out.println(msg);
System.exit(0);
}
}else{
msg="您输入的号码超过范围(1~33)!程序关闭!";
System.out.println(msg);
System.exit(0);
}
}
}
//----开奖结果
System.out.println("\n---------------\n【"+timeDay+"期开奖结果为:】");
Arrays.sort(sysRedBallNum);
for(int i=0;i<sysRedBallNum.length;i++){
if(i==0){
System.out.print("红球:\t");
}
System.out.print(sysRedBallNum[i]+"\t");
if(i==5){
System.out.print("\n篮球:\t"+sysBlueBallNum);
}
}
//----循环判断用户是否中奖
//1.验证篮球是否匹配
if(uesrBlueBallNum==sysBlueBallNum){
blueBall=1;
}
//2.验证红球是否匹配
for(int j=0;j<userRedBallNum.length;j++){
for(int i=0;i<userRedBallNum.length;i++){
if(userRedBallNum[i]==sysRedBallNum[j]){
redBall++;
break;
}
}
}
//用户投注结果
System.out.println("\n---------------\n"+"【您的投注是:】");
Arrays.sort(userRedBallNum);
for(int i=0;i<userRedBallNum.length;i++){
if(i==0){
System.out.print("红球:\t");
}
System.out.print(userRedBallNum[i]+"\t");
if(i==5){
System.out.print("\n篮球:\t"+uesrBlueBallNum);
}
}
System.out.print("\n投注时间:"+time);
//----判断是否中奖
if(blueBall==1&&redBall==6){
System.out.println("\n----------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,一等奖!奖金500W.");
}else if(redBall==6){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,二等奖!");
}else if(blueBall==1&&redBall==5){
System.out.println("---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,三等奖!");
}else if(redBall==5||(redBall==4&&blueBall==1)){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,四等奖!");
}else if(redBall==4||(redBall==3&&blueBall==1)){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,五等奖!");
}else if(blueBall==1){
System.out.println("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n恭喜您,六等奖!");
}else{
System.out.print("\n---------------\n【中奖公告:】\n"+"篮球中了"+blueBall+"个,红球中了"+redBall+"个。\n很遗憾,您没有中奖!");
}
}
}