Java Source code: เครื่องออกเลขหวย

วันที่ 1 และ 16 ของเดือน ท่านจะมีรอยยิ้ม กับ หวย

I'am Sira

วันหวยออก เลยอยากเขียนอะไรเล่นสักนิดหน่อย เป็นโปรแกรมที่ไว้ออกเลขหวยละกัน การทำงานหลักๆ ก็มีแค่ 2 class แบบง่ายๆคือ

1. Matchine class ตัวนี้ ก็เปรียบเสมือนเครื่องออกเลขของแต่ละหลักแหละครับ 1 เครื่อง คือ 1 หลัก หวยมี 6 หลักเวลาใช้ก็สร้างมา 6 เครื่อง การทำงานภายในคือ เมื่อ new class นี้ขึ้นมา ระบบจะ random number ใส่ให้แต่ละหลัก โดยไม่ซ้ำ ทำให้ เวลาเรา new matchine มาแต่ละครั้ง ตำแหน่งของตัวเลข จะไม่ตรงกันเลย

2. Main class ก็ไว้สำหรับเรียกใช้งานเครื่องแหละครับ

มาดูกันเลยดีกว่า ว่า เป็นไงบ้าง

Machine Class

package com.iamsira.lotto.vo;

import java.util.Random;

public class Machine {

    private int[] number = {99,99,99,99,99,99,99,99,99,99};
    
    public Machine() {
        Random rand = new Random();

        for (int i=0; i<number.length; i++) {
            int iTarget = 0;
            do {
                iTarget = rand.nextInt(10);
                
            } while (this.number[iTarget] <= 9);
            
            this.number[iTarget] = i;
        }
    }
    
    public int getNumber(int i) {
        return number[i];
    }
    
    public int[] getAllNumber() {
        return number;
    }
}

LottoMain Class

package com.iamsira.lotto.main;

import java.util.Random;

import com.iamsira.lotto.vo.Machine;

public class GoodLuck {

    public static void main(String[] args) {
       
        Machine m1 = new Machine();
        Machine m2 = new Machine();
        Machine m3 = new Machine();
        Machine m4 = new Machine();
        Machine m5 = new Machine();
        Machine m6 = new Machine();
        
        Random rand = new Random();
        
        System.out.println("Lucky No 4");
        for(int i=0; i<10; i++) {
            StringBuilder luckerNumber = new StringBuilder();
            luckerNumber.append(m1.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m2.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m3.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m4.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m5.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m6.getNumber(rand.nextInt(10)));
            System.out.println(luckerNumber);
        }
        System.out.println("----------------------------------------------------");
        System.out.println("Lucky No 3");
        for(int i=0; i<5; i++) {
            StringBuilder luckerNumber = new StringBuilder();
            luckerNumber.append(m1.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m2.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m3.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m4.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m5.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m6.getNumber(rand.nextInt(10)));
            System.out.println(luckerNumber);
        }
        System.out.println("----------------------------------------------------");
        System.out.println("Lucky No 2");
        for(int i=0; i<3; i++) {
            StringBuilder luckerNumber = new StringBuilder();
            luckerNumber.append(m1.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m2.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m3.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m4.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m5.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m6.getNumber(rand.nextInt(10)));
            System.out.println(luckerNumber);
        }
        
        System.out.println("----------------------------------------------------");
        System.out.println("Front 3 digits: ");
        Machine m7 = new Machine();
        Machine m8 = new Machine();
        Machine m9 = new Machine();
        for(int i=0; i<2; i++) {
            StringBuilder luckerNumber = new StringBuilder();
            luckerNumber.append(m7.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m8.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m9.getNumber(rand.nextInt(10)));
            System.out.println(luckerNumber);
        }
        System.out.println("----------------------------------------------------");
        System.out.println("Last 3 digits: ");
        for(int i=0; i<2; i++) {
            StringBuilder luckerNumber = new StringBuilder();
            luckerNumber.append(m7.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m8.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m9.getNumber(rand.nextInt(10)));
            System.out.println(luckerNumber);
        }
        System.out.println("----------------------------------------------------");
        System.out.println("Last 2 digits: ");
        m8 = new Machine();
        m9 = new Machine();
        for(int i=0; i<1; i++) {
            StringBuilder luckerNumber = new StringBuilder();
            luckerNumber.append(m8.getNumber(rand.nextInt(10))).append(" ");
            luckerNumber.append(m9.getNumber(rand.nextInt(10)));
            System.out.println(luckerNumber);
        }
        System.out.println("----------------------------------------------------");
        System.out.println("Big jackpot No.1");
        m1 = new Machine();
        m2 = new Machine();
        m3 = new Machine();
        m4 = new Machine();
        m5 = new Machine();
        m6 = new Machine();
        StringBuilder luckerNumber = new StringBuilder();
        luckerNumber.append(m1.getNumber(rand.nextInt(10))).append(" ");
        luckerNumber.append(m2.getNumber(rand.nextInt(10))).append(" ");
        luckerNumber.append(m3.getNumber(rand.nextInt(10))).append(" ");
        luckerNumber.append(m4.getNumber(rand.nextInt(10))).append(" ");
        luckerNumber.append(m5.getNumber(rand.nextInt(10))).append(" ");
        luckerNumber.append(m6.getNumber(rand.nextInt(10)));
        System.out.println(luckerNumber);
        System.out.println("----------------------------------------------------");
        System.out.println("Thank you");
    }

}
 

Output

No 4: 0 7 7 0 7 6
No 4: 3 1 0 4 2 5
No 4: 7 6 0 3 1 8
No 4: 3 9 9 4 2 9
No 4: 0 6 3 9 1 5
No 4: 9 2 5 6 3 0
No 4: 5 9 3 5 7 3
No 4: 3 6 6 3 4 0
No 4: 8 7 6 3 0 1
No 4: 0 4 5 1 8 0
----------------------------------------------------
No 3: 2 9 7 6 6 1
No 3: 5 4 4 3 1 8
No 3: 6 4 9 9 1 1
No 3: 9 7 0 9 1 5
No 3: 0 8 4 2 2 1
----------------------------------------------------
No 2: 2 5 0 8 0 6
No 2: 4 7 3 5 3 5
No 2: 5 9 8 8 1 6
----------------------------------------------------
Front 2 digits: 0 1 4
Front 2 digits: 0 0 0
----------------------------------------------------
Last 3 digits: 1 7 0
Last 3 digits: 7 0 0
----------------------------------------------------
Last 2 digits: 5 6
----------------------------------------------------
Number 1: 9 6 7 9 8 6
 

สงสัยอะไร ตรงไหน สอบถามหลังบ้านมาได้นะครับ