java每日基础编程题(三)

10.福彩双色球

      注意:程序没有做输入内容的判断,只能根据提示输入整数。

      规则: “双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1--33中选择;蓝色球号码从1--16中选择。“双色球”每注2元。 中奖规则同福彩双色球规则; 显示中奖结果的同时显示您一共下注人民币**元,累计中奖人民币**元

package com.liubj.projectbaizhan;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 福彩双色球游戏 规则: “双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1--33中选择;蓝色球号码从1--16中选择。
 * “双色球”每注2元。 中奖规则同福彩双色球规则; 显示中奖结果的同时显示您一共下注人民币**元,累计中奖人民币**元
 * 
 * @author liubaojun
 *
 */
public class DoubleBallGame {

	// 创建Scanner对象
	static Scanner sc = new Scanner(System.in);
	// 红球号码
	static int[] arrRed = new int[6];
	// 蓝球号码
	static int blue;
	//下注的人民币
	static int buyMoney;
	//奖金
	static double winMoney;

	public static void main(String[] args) {

		while (true) {
			System.out.println("-------------欢迎进入双色球彩票系统-------------");
			System.out.println("\t\t1.购买彩票");
			System.out.println("\t\t2.查看开奖");
			System.out.println("\t\t3.退出");
			System.out.println("-------------------------------------------");
			System.out.print("请选择菜单:");
			int choice = sc.nextInt();
			switch (choice) {
			case 1:
				buy();
				break;
			case 2:
				lottery();
				break;
			case 3:
				System.out.println("感谢您的使用,欢迎下次再来,再见!");
				return;
			default:
				System.out.println("您选择的功能有误,请重新选择!");
				break;
			}
		}
	}

	// 购买彩票
	public static void buy() {
		//号码清零
		for(int j = 0;j 0 && redNum <= 33) {
				// 判断选择号码是否重复
				int index = search(arrRed, redNum);
				if (index < 0) {
					// 号码没有重复存入数组
					arrRed[i] = redNum;
					i++;
				} else {
					System.out.println("该号码已选择,请重新选择第" + (i + 1) + "个号码!");
					continue;
				}
			} else {
				System.out.println("您选择的号码不存在,请重新选择第" + (i + 1) + "个号码!");
				continue;
			}
		}

		// 选择蓝色球
		while (true) {
			System.out.print("开始选择蓝色球,请从1-16中选择一个号码:");
			int number = sc.nextInt();
			if (number > 0 && number <= 16) {
				blue = number;
				break;
			} else {
				System.out.println("您选择的号码不存在,请重新选择!");

			}
		}
		System.out.println("您选择的红色号码球分别是:" + Arrays.toString(arrRed));
		System.out.println("您选择的蓝色号码球是:[" + blue + "]");
		buyMoney += 2;
	}

	// 查看开奖
	public static void lottery() {
		int[] winNumRed = new int[6];
		int i = 0;
		
		//生成红色球中奖号码
		while(i < 6){
			int number = (int)(Math.random() * 33) + 1;
			// 判断选择号码是否重复
			int index = search(winNumRed, number);
			if (index < 0) {
				// 号码没有重复存入数组
				winNumRed[i] = number;
				i++;
			}
		}
		
		//生成蓝色球中奖号码
		int winNumBlue = (int)(Math.random() * 15) + 1;
		System.out.println("本期中奖号码为:");
		System.out.println("红色球中奖号码:" + Arrays.toString(winNumRed));
		System.out.println("蓝色球中奖号码:[" + winNumBlue + "]");
		
		//计算红色球中奖号码个数
		int winRedCount = 0;
		for(int k = 0; k < arrRed.length; k ++){
			int index = search(winNumRed, arrRed[k]);
			if(index > 0){
				winRedCount++;
			}
		}
		//计算蓝色球中奖号码个数
		int winBuleCount = 0;
		if(blue == winNumBlue){
			winBuleCount = 1;
		}
		
		//判断中奖等级
		if(winRedCount == 6 && winBuleCount == 1){
			System.out.println("恭喜您中了一等奖,奖金500万元人民币!");
			winMoney += 5000000;
		}else if(winRedCount == 6 && winBuleCount == 0){
			System.out.println("恭喜您中了二等奖,奖金300万元人民币!");
			winMoney += 3000000;
		}else if(winRedCount == 5 && winBuleCount == 1){
			System.out.println("恭喜您中了三等奖,奖金3000元人民币!");
			winMoney += 3000;
		}else if((winRedCount == 5 && winBuleCount == 0) || (winRedCount == 4 && winBuleCount == 1)){
			System.out.println("恭喜您中了四等奖,奖金200元人民币!");
			winMoney += 200;
		}else if((winRedCount == 4 && winBuleCount == 0) || (winRedCount == 3 && winBuleCount == 1)){
			System.out.println("恭喜您中了五等奖,奖金10元人民币!");
			winMoney += 10;
		}else if((winRedCount == 2 && winBuleCount == 1) || (winRedCount == 1 && winBuleCount == 1) || (winRedCount == 0 && winBuleCount == 1)){
			System.out.println("恭喜您中了六等奖,奖金5元人民币!");
			winMoney += 5;
		}else{
			System.out.println("很遗憾,您本期未中奖!");
		}
		
		//显示本次福彩游戏的投注金额和中奖金额
		System.out.println("本次游戏已投入:" + buyMoney + "元人民币!");
		System.out.println("本次游戏您的中奖金额:" + winMoney + "元人民币");
	}

	// 查找元素是否存在
	public static int search(int[] arr, int num) {
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] == num) {
				return i;
			}
		}
		return -1;
	}

}

运行结果:

java每日基础编程题(三)_第1张图片

你可能感兴趣的:(java基础,java基础编程)