黑马程序员技术交流社区

标题: 新撸的双色球系统,看懂的指点指点,看不懂的拿去玩玩 [打印本页]

作者: sgzqsw    时间: 2016-6-19 13:35
标题: 新撸的双色球系统,看懂的指点指点,看不懂的拿去玩玩
本帖最后由 sgzqsw 于 2016-6-19 13:45 编辑

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Random;
import java.util.Scanner;
/*目的是复习下前面学的东西,还有很多不足,其实还想做一个往期开奖号码并存到本地的,但是File才刚开始看,不怎么熟就没写了。
* 自己玩了好久就中了5快,珍爱生命远离双色球。。。
*/
class Double {
        public static void main(String[] args) {
                Scanner scanner = new Scanner(System.in);// 开扫描
                dCBall(scanner);
                scanner.close();// 关扫描
        }

        public static void dCBall(Scanner s) {
                System.out.println("欢迎来的双色球系统");
                System.out.println("请输入红球1~33");
                // 用于记录你选出的红球
                ArrayList<Integer> redball = new ArrayList<>();
                int count = 0;
                // 下方健壮性判断不能输入重复的红球,只能输入整数红球。
                while (count < 6) {
                        try {
                                int str = s.nextInt();//输入
                                // 判断条件,记录红球
                                if (!redball.contains(str) && str < 33 && str > 0) {
                                        redball.add(str);
                                } else {
                                        System.out.println("输入了重复红球请重新输入");
                                        continue;
                                }
                        } catch (RuntimeException e) {
                                System.out.println("只能输入整数数字,别乱写老兄");
                                break;
                        }
                        count++;// 计数已经输入的正确红球数量
                }
                // 记录你选出的篮球
                ArrayList<Integer> blueball = new ArrayList<>();

                System.out.println("请输入篮球1~16");
                int sc;
                try {
                        while (true) {
                                sc = s.nextInt();
                                // 判断条件记录篮球
                                if (0 < sc && sc < 17) {
                                        blueball.add(sc);
                                        break;
                                } else {
                                        System.out.println("篮球超出范围");
                                        continue;
                                }
                        }
                } catch (RuntimeException e) {
                        System.out.println("只能传正整数");

                }
                // 下方健壮性判断篮球范围
                System.out.println("开始摇奖");
                System.out.println("你的红球是" + redball + "篮球" + blueball);
                int countRed = 0;
                LinkedList<Integer> openball = new LinkedList<>();// 记录开奖红球
                // 用于产生红球
                Random r = new Random();
                // 产生开奖的红球
                while (countRed < 6) {
                        Integer red2 = r.nextInt(32) + 1;// 红球范围
                        if (!openball.contains(red2)) {
                                openball.add(red2);
                                countRed++;
                        } else {
                                continue;
                        }
                }
                // 统计中奖红球数量
                Iterator<Integer> it = openball.iterator();
                while (it.hasNext()) {
                        Integer integer = it.next();
                        if (openball.contains(integer)) {
                                countRed++;
                        }
                }
                // 开奖的篮球
                Integer blueOpen = r.nextInt(16) + 1;
                // 输出中奖号码
                System.out.println("中奖号码红球" + openball + "中奖篮球[" + blueOpen + "]");
                if (blueball.contains(blueOpen)) {//判断有没中篮球
                        // 中奖的机制
                        switch (countRed) {//判断红球中多少个
                        case 6:
                                System.out.println("恭喜你中1等奖500万元,快去买彩票吧");
                                break;
                        case 5:
                                System.out.println("恭喜你中3等奖3000元");
                                break;
                        case 4:
                                System.out.println("恭喜你中4等奖200元");
                                break;
                        case 3:
                                System.out.println("恭喜你中5等奖10元");
                                break;

                        default:
                                System.out.println("恭喜你中六等奖5元");
                                break;
                        }
                } else {
                        switch (countRed) {
                        case 6:
                                System.out.println("恭喜你中2等奖100万");
                                break;
                        case 5:
                                System.out.println("恭喜你中4等奖200");
                                break;
                        case 4:
                                System.out.println("恭喜你中5等奖10");
                                break;
                        default:
                                System.out.println("很遗憾没有中奖,祝您下次中奖");
                                break;
                        }
                }

        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2