From 699e0b41e966dc92bc90c49bdb32f2f71fd05309 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 24 Nov 2014 23:29:16 +0100 Subject: Assignment No.8 added the lottery class. --- .../in/inf/java1/aufgabe8/Lottery6OutOf49.java | 80 ++++++++++++++++++++++ .../in/inf/java1/aufgabe8/LottoZiehungMain.java | 22 ++---- 2 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 src/de/fhswf/in/inf/java1/aufgabe8/Lottery6OutOf49.java (limited to 'src/de/fhswf') diff --git a/src/de/fhswf/in/inf/java1/aufgabe8/Lottery6OutOf49.java b/src/de/fhswf/in/inf/java1/aufgabe8/Lottery6OutOf49.java new file mode 100644 index 0000000..c09893e --- /dev/null +++ b/src/de/fhswf/in/inf/java1/aufgabe8/Lottery6OutOf49.java @@ -0,0 +1,80 @@ +/** + * + */ +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 ArrayList lotteryNumbers = new ArrayList<>(49); + + private ArrayList lastDraw = new ArrayList<>(6); + + private Integer superzahl; + + /** + * Creates a new valid object, that also starts the first draw. + * + */ + public Lottery6OutOf49() + { + for (int i = 1; i <= 49; i++) + { + lotteryNumbers.add(i); + } + + nextDraw(); + + } + + /** + * Does the next draw. + * + */ + public void nextDraw() + { + List tmp = FloydAndBentley.sample2(lotteryNumbers, 7); + + superzahl = tmp.get(tmp.size() - 1); + + lastDraw.clear(); + + for (int i = 0; i < 6; i++) + { + lastDraw.add(tmp.get(i)); + } + + lastDraw.sort(null); + } + + /** + * Returns the last draw. + * + * @return Returns an immutable list of the last draw. + */ + public List getLastDraw() + { + return Collections.unmodifiableList(lastDraw); + } + + /** + * Returns the super number. + * + * @return The super number of the last draw. + */ + public Integer getSuperzahl() + { + return new Integer(superzahl); + } + +} diff --git a/src/de/fhswf/in/inf/java1/aufgabe8/LottoZiehungMain.java b/src/de/fhswf/in/inf/java1/aufgabe8/LottoZiehungMain.java index 6524a29..9c9cffe 100644 --- a/src/de/fhswf/in/inf/java1/aufgabe8/LottoZiehungMain.java +++ b/src/de/fhswf/in/inf/java1/aufgabe8/LottoZiehungMain.java @@ -3,7 +3,6 @@ */ package de.fhswf.in.inf.java1.aufgabe8; -import java.util.ArrayList; import java.util.List; /** @@ -31,21 +30,12 @@ public final class LottoZiehungMain */ public static void main(String[] args) { - List lottoZahlen = new ArrayList<>(49); + Lottery6OutOf49 spiel = new Lottery6OutOf49(); + + List ziehung = spiel.getLastDraw(); + + Integer sonderzahl = spiel.getSuperzahl(); - for (int i = 1; i <= 49; i++) - { - lottoZahlen.add(i); - } - - List ziehung = FloydAndBentley.sample(lottoZahlen, 7); - - Integer Sonderzahl = ziehung.get(6); - - ziehung.remove(6); - - ziehung.sort(null); - - System.out.println(ziehung + " SonderZahl: " + Sonderzahl); + System.out.println(ziehung + " SonderZahl: " + sonderzahl); } } -- cgit v1.2.3-70-g09d2