雙色球選號程序(面向對象)

Ball類:

class Ball{
    private String color;
    private int num;

    public Ball(int num, String color){
        this.num = num;
        this.color = color;
    }

    public Color getColor(){
        return color;
    }

    public Num getNum(){
        return num;
    }
}

public static void main(String[] args){
    for(int i = 0; i < 6; i++){
        int num = (int)(Math.random * 33 + 1);
        Ball redBall = new Ball(num,red);
        int number = redBall.getNum();
        System.out.print(number + " ");
    }
    int num1 = (int)(Math.random * 16 + 1);
    Ball blueBall = new Ball(num1,blue);
    int number1 = blueBall.getNum();
    System.out.print(number1);

}

選號:

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èi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • http://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=2104...
    toplee閱讀 3,318評論 0 10
  • 文|卓子 陽光透過貼著紅色花瓣的落地窗灑進來,星星點點的印在橙色粗布條紋的雙人床上,房間一片溫暖靜謐,小蜜子呼吸均...
    卓子lonuo閱讀 530評論 14 6
  • 我有一群好朋友 我們經(jīng)常一起玩 追著打鬧,笑著玩樂 我們一直和諧的生活著 直到有一天 我們玩游戲的時候 有一個小伙...
    墩墩不胖閱讀 204評論 0 0
  • 簡單重復的10000小時是沒用的。如門衛(wèi)大爺,日夜看門護院,遠超10000小時,但他們并未成為保安教頭。 人的認知...
    阿中2016閱讀 254評論 1 0

友情鏈接更多精彩內(nèi)容