美文网首页demo
双色球-实现机选功能

双色球-实现机选功能

作者: 我的马儿有些瘦 | 来源:发表于2017-03-14 17:42 被阅读21次

最近老大给我们出了一道题,要求纯文本编程......
要求:实现双色球机选N注
下面是大牛版的代码:反正我是比较推崇,仅供参考。

import java.awt.Color;
import java.util.Random;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

class Ball implements Comparable<Ball> {
    private int number;
    private Color color;

    public Ball(int number, Color color) {
        this.number = number;
        this.color = color;
    }

    public int getNumber() {
        return number;
    }

    public Color getColor() {
        return color;
    }

    @Override
    public int compareTo(Ball other) {
        return this.number - other.number;
    }
}

class SelectNumberMachine {
    private static Random r = new Random();
    private List<Ball> redBalls = new ArrayList<>();
    private List<Ball> blueBalls = new ArrayList<>();

    public void reset() {
        redBalls.clear();
        for (int i = 1; i <= 33; ++i) {
            redBalls.add(new Ball(i, Color.RED));
        }
        blueBalls.clear();
        for (int i = 1; i <= 16; ++i) {
            blueBalls.add(new Ball(i, Color.BLUE));
        }
    }

    public String generate() {
        Ball[] currentRedBalls = selectRedBalls();
        Arrays.sort(currentRedBalls);
        Ball currentBlueBall = selectBlueBall();
        StringBuilder sb = new StringBuilder();
        for (Ball tempBall : currentRedBalls) {
            sb.append(String.format("%02d ", tempBall.getNumber()));
        }
        sb.append("| ");
        sb.append(String.format("%02d", currentBlueBall.getNumber()));
        return sb.toString();
    }

    private Ball[] selectRedBalls() {
        Ball[] currentRedBalls = new Ball[6];
        for (int i = 0; i < currentRedBalls.length; ++i) {
            int randomIndex = r.nextInt(redBalls.size());
            currentRedBalls[i] = redBalls.remove(randomIndex);
        }
        return currentRedBalls;
    }

    private Ball selectBlueBall() {
        int randomIndex = r.nextInt(blueBalls.size());
        return blueBalls.remove(randomIndex);
    }

}

class Test {

    public static void main(String[] args) {
        SelectNumberMachine machine = new SelectNumberMachine();
        for (int i = 0; i < 10; ++i) {
            machine.reset();
            System.out.println(machine.generate());
        }
    }
}

相关文章

  • 双色球-实现机选功能

    最近老大给我们出了一道题,要求纯文本编程......要求:实现双色球机选N注下面是大牛版的代码:反正我是比较推崇,...

  • 双色球

    双色球胆拖打一注,再机选一注。

  • 储君老师教你用Excel机选彩票

    Excel每个懂电脑的都熟悉,但是用EXCEL选取双色球号码不一定都会,下面储君老师教大家用EXCEL机选双色球彩...

  • 机选双色球python程序

    import random redList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1...

  • Java学习第8天

    双色球问题:机选n注,前面6位在133中选,且排好序。最后一位在116中选 1. 二维数组 可以看成是数组的数组 ...

  • js-节点操作

    里面除了实现了复选框的全选、全不选以及反选功能之外,还有对节点的创建、插入等功能。 实现效果: JS代码 HTML代码

  • 使用compose ,paging3,jsoup实现分页加载双色

    本篇文章实现的功能就是在页面上分页加载双色球全部开奖数据,看着很简单,实现起来却很困难,是我低估了它的难度,还是我...

  • 为了买彩票,我写了这个控件

    0. 最近偶尔会买个双色球,一周买个6块钱的,也不多,就是凑个热闹,为生活添加个小情趣。因为不会选号,每次都是机选...

  • 【对讲机的那点事】你了解公网对讲机的地图调度功能吗?

    公网对讲机以其丰富的应用功能占据对讲机的半壁江山,组呼、群呼、选呼、定位、电子围栏导尿管功能让使用者得心应手,一机...

  • C#串口及其串口编程

    1.上位机测试程序界面 1.1效果图 1.2主要功能描述及支持这些功能结构 功能描述:在上位机测试程序界面实现寻、...

网友评论

    本文标题:双色球-实现机选功能

    本文链接:https://www.haomeiwen.com/subject/ppshnttx.html