/** * */ package de.fhswf.in.inf.java1.aufgabe8; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * A class, that simulates a 6 out of 49 Lottery. * * @author $Author: $ * @version $Revision: $, $Date: $ UTC */ public class Lottery6OutOf49 { private static final int MAX_NUMBER = 49; private ArrayList lotteryNumbers; private List lastDraw; private Integer superzahl; /** * Creates a new valid object, that also starts the first draw. * */ public Lottery6OutOf49() { lotteryNumbers = new ArrayList(MAX_NUMBER); for (int i = 1; i <= MAX_NUMBER; i++) { lotteryNumbers.add(i); } } /** * Does the next draw. * */ public void nextDraw() { lastDraw = FloydAndBentley.sample(lotteryNumbers, 7); superzahl = lastDraw.remove(lastDraw.size() - 1); lastDraw.sort(null); } /** * Returns the last draw. * * @return Returns an immutable list of the last draw. */ public List getLastDraw() { if (lastDraw == null) { throw new IllegalStateException("First needs a sraw."); } return Collections.unmodifiableList(lastDraw); } /** * Returns the super number. * * @return The super number of the last draw. */ public Integer getSuperzahl() { if (superzahl == null) { throw new IllegalStateException("First needs a sraw."); } return new Integer(superzahl); } }