JAVA基础知识练习项目
利用运算符、流程控制、数组、面向对象、方法等基础知识完成辅材双色球项目
源码:
import java.util.Scanner;
public class LotteryTicket {
public static void main(String[] args) {
int money = 0;//价钱
int price = 2;//每注价钱
int count = 0;//购买注数
boolean isBuy = false;//是否购买
int[] num = new int[7];//购买号码
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("*****欢迎进入双色球彩票系统*****");
System.out.println(" 1.购买彩票 ");
System.out.println(" 2.查看开奖 ");
System.out.println(" 3.退出 ");
System.out.println("******************************");
System.out.print("请选择菜单:");
int n = sc.nextInt();
switch (n){
case 1:
System.out.println("请输入购买注数:");
count = sc.nextInt();
money = count*price;
System.out.println("一共购买了"+count+"注,共花费"+money+"元!");
System.out.println("请输入需要购买的红球号码:");
for(int i = 0;i<num.length-1;i++){
System.out.println("请输入第"+(i+1)+"个红球号码:");
num[i] = sc.nextInt();
}
System.out.println("请输入需要购买的篮球号码:");
num[6] = sc.nextInt();
System.out.println("您已成功购买!!!");
isBuy = true;
break;
case 2:
if(isBuy){
isBuy = false;
int[] luckNums =getLuckNums();
int level = result(num, luckNums);
switch(level){
case 0:
System.out.println("很遗憾,您没有中奖");
break;
case 1:
System.out.println("恭喜您获得一等奖!获得奖金"+count*10+"万元");
break;
case 2:
System.out.println("恭喜您获得二等奖!获得奖金"+count*2+"万元");
break;
case 3:
System.out.println("恭喜您获得三等奖!获得奖金"+count*3000+"元");
break;
case 4:
System.out.println("恭喜您获得四等奖!获得奖金"+count*200+"元");
break;
case 5:
System.out.println("恭喜您获得五等奖!获得奖金"+count*10+"元");
break;
case 6:
System.out.println("恭喜您获得六等奖!获得奖金"+count*5+"万");
break;
}
}else{
System.out.println("没有查询到您的购买结果!");
}
break;
case 3:
System.out.println("欢迎下次光临!");
return;
default:
System.out.println("请输入1-3的整数,谢谢!");
}
}
}
//系统随机中奖号码
public static int[] getLuckNums(){
int[] luckNums = new int[7];
for (int i = 0;i<luckNums.length-1;i++){
luckNums[i] = (int)(Math.random()*33+1);
}
luckNums[6] = (int)(Math.random()*16+1);
return luckNums;
}
//中奖等级判断方法
public static int result(int[] num, int[] luckNums){
int level = 0;
int redNum = 0;
int blueNum = 0;
for (int i = 0; i<num.length-1;i++){//判断红球中奖数量
for (int j = 0;j<luckNums.length-1;j++){
if(num[i] == luckNums[j])
redNum++;
}
}
if(num[6]==luckNums[6])//判断篮球中奖数量
blueNum++;
if(redNum==6&&blueNum==1){
level=1;
}else if(redNum==6){
level=2;
}else if(redNum==5&&blueNum==1){
level=3;
}else if(redNum==5||(redNum==4&&blueNum==1)){
level=4;
}else if(redNum==4||(redNum==3&&blueNum==1)){
level=5;
}else if(blueNum==1){
level=6;
}
return level;
}
}
运行效果图: