summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/java1/aufgabe8/Lottery6OutOf49.java
blob: c09893e4946dd4adc2b3fd5abd80cff379a668a5 (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
/**
 * 
 */
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<Integer> lotteryNumbers = new ArrayList<>(49);

   private ArrayList<Integer> 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<Integer> 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<Integer> getLastDraw()
   {
      return Collections.unmodifiableList(lastDraw);
   }

   /**
    * Returns the super number.
    *
    * @return The super number of the last draw.
    */
   public Integer getSuperzahl()
   {
      return new Integer(superzahl);
   }

}