blob: b7c43f1f7362b520ff9e4e407dc34b62a22765e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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);
}
}
|