verkiezingen
Class Stemmachine

java.lang.Object
  extended by verkiezingen.Stemmachine

public class Stemmachine
extends java.lang.Object

Deze klasse representeert en stemmachine We gaan er van uit dat de kiezers stemmen op kandidaten, en niet op partijen.


Constructor Summary
Stemmachine()
           
 
Method Summary
 java.lang.String geefUitslagPerKandidaat()
          Levert de uitslag per kandidaat van alle via deze machine uitgebrachte stemmen
 java.lang.String geefUitslagPerPartij()
          Levert de uitslag per partij van alle via deze machine uitgebrachte stemmen
 java.util.ArrayList<Partij> getPartijen()
           
 void stem(java.lang.String kandidaatNaam)
          Brengt een stem uit op een bepaalde kandidaat
 void stemNKeer(int n, int percentageLijsttrekker)
          Brengt een aantal stemmen uit, random verdeeld over de lijsten en de kandidaten.
 void stemOpNummer(int lijstnr, int kandidaatnr)
           
 void voegPartijToe(Partij p)
          Voegt een partij toe aan de lijst met partijen
 void zetAan()
          Bij het aanzetten van de machine wordt de lijst met partijen gevuld en worden er ook kandidaten aan die partijen toegevoegd.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Stemmachine

public Stemmachine()
Method Detail

zetAan

public void zetAan()
Bij het aanzetten van de machine wordt de lijst met partijen gevuld en worden er ook kandidaten aan die partijen toegevoegd.


getPartijen

public java.util.ArrayList<Partij> getPartijen()
Returns:
de lijst met partijen

voegPartijToe

public void voegPartijToe(Partij p)
Voegt een partij toe aan de lijst met partijen

Parameters:
p - de toe te voegen partij

stem

public void stem(java.lang.String kandidaatNaam)
Brengt een stem uit op een bepaalde kandidaat

Parameters:
kandidaatNaam - de naam van de kandidaat waarop gestemd wordt
Throws:
StemmachineException - als de kandidaat niet op de lijst voorkomt, of als er meer kandidaten zijn met de gegeven naam

stemOpNummer

public void stemOpNummer(int lijstnr,
                         int kandidaatnr)

geefUitslagPerPartij

public java.lang.String geefUitslagPerPartij()
Levert de uitslag per partij van alle via deze machine uitgebrachte stemmen

Returns:
een String bestaande uit regels van de vorm naam: aantalStemmen

stemNKeer

public void stemNKeer(int n,
                      int percentageLijsttrekker)
Brengt een aantal stemmen uit, random verdeeld over de lijsten en de kandidaten. Hoe hoger het nummer van de lijst, hoe groter de kans dat er op gestemd wordt. Een bepaald deel van de stemmen gaat naar de lijstrekker; de overige worden verdeeld over de andere kandidaten.

Parameters:
n - het aantal uitgebrachte stemmen
percentageLijsttrekker - het percentage van de stemmen dat naar de lijsttrekker gaat

geefUitslagPerKandidaat

public java.lang.String geefUitslagPerKandidaat()
Levert de uitslag per kandidaat van alle via deze machine uitgebrachte stemmen

Returns:
een String bestaande uit regels van de vorm naam: aantalStemmen