diff options
Diffstat (limited to 'src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java')
| -rw-r--r-- | src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java b/src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java new file mode 100644 index 0000000..b7c43f1 --- /dev/null +++ b/src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java @@ -0,0 +1,81 @@ +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe08; + +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<Integer> lotteryNumbers; + + private List<Integer> lastDraw; + + private Integer superzahl; + + /** + * Creates a new valid object, that also starts the first draw. + * + */ + public Lottery6OutOf49() + { + lotteryNumbers = new ArrayList<Integer>(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<Integer> getLastDraw() + { + if (lastDraw == null) + { + throw new IllegalStateException("First needs a draw."); + } + 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); + } + +} |
