I have a very weird problem, the problem only presents itself in case 3 & 4.
for(Sector sector : sectoren)
{
switch(sector.getCode())
{
case 1:
for(int i = 0; i<3; i++)
{
for(int j=0;j<3; j++)
{
Gebiedskaart gbk = gebiedskaarten.get(r.nextInt(gebiedskaarten.size()));
vakken[i][j].setGbk(gbk);
gebiedskaarten.remove(gbk);
}
vakken[2][2].setGbk(null);
}
case 2:
for(int i = 0; i<3; i++)
{
for(int j=4;j<7; j++)
{
Gebiedskaart gbk = gebiedskaarten.get(r.nextInt(gebiedskaarten.size()));
vakken[i][j].setGbk(gbk);
gebiedskaarten.remove(gbk);
}
}
vakken[2][4].setGbk(null);
case 3:
for(int i=4; i<7; i++)
{
for(int j=0;j<3; j++)
{
System.out.println(gebiedskaarten.size());
Gebiedskaart gbk = gebiedskaarten.get(r.nextInt(gebiedskaarten.size()));
vakken[i][j].setGbk(gbk);
gebiedskaarten.remove(gbk);
}
}
vakken[4][2].setGbk(null);
case 4:
for(int i = 4; i<7; i++)
{
for(int j=4;j<7; j++)
{
Gebiedskaart gbk = gebiedskaarten.get(r.nextInt(gebiedskaarten.size()));
vakken[i][j].setGbk(gbk);
//gebiedskaarten.remove(gbk); doet iets raar? moeten we nog naar kijken, hij blijft gewoon verwijderen tot de lijst leeg is
}
}
vakken[4][4].setGbk(null);
}
}
in the code you can see that I assign a value to an array, and then i remove that value from the ArrayList. You can see I have put the System.out.println there, to see what it does, and this is the output:
34
33
32
31
30
29
28
27
26
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
And then the error obviously:
Exception in thread "main" java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Random.java:300)
at domein.Spelbord.wijsGebiedskaartenToe(Spelbord.java:123)
at domein.Spelbord.<init>(Spelbord.java:19)
at domein.Spel.setWereldkaart(Spel.java:18)
at domein.DomeinController.maakWereldkaart(DomeinController.java:39)
at ui.Uc1.maakWereldkaart(Uc1.java:42)
at ui.ConsoleApplicatie.behandelUc1(ConsoleApplicatie.java:67)
at ui.ConsoleApplicatie.startSpel(ConsoleApplicatie.java:29)
at StartUp.main(StartUp.java:12)
Java Result: 1
I don't have a clue of whats going on, maybe you guys have?