summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2014-12-07 19:15:58 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2014-12-07 19:18:03 +0100
commit9acea903216dbe371dd7b41cbf23b46a5732bcb4 (patch)
tree5a61491ad22e470db8151d2e07f163b011c72d6e /src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java
parent8a53a8fca255e4a84ca0e35dac925a223738b98a (diff)
downloadJava1-9acea903216dbe371dd7b41cbf23b46a5732bcb4.tar.gz
Java1-9acea903216dbe371dd7b41cbf23b46a5732bcb4.zip
Refactored the packagenames fo better sorting
Diffstat (limited to 'src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java')
-rw-r--r--src/de/fhswf/in/inf/java1/aufgabe08/Lottery6OutOf49.java81
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);
+ }
+
+}