Het probleem is dat het niet lukt om een double te delen door een integer, en deze dan weer te geven in een double. Als output krijg ik namelijk altijd een 0.0. De output van constraint en sum zijn goed, dit kan bijvoorbeeld zijn: constraint: 2 en sum: 9. De output zou dan moeten zijn:
0.22222222222222222222222222222222. Waar het misschien ook kan zitten, is de afronding van dat getal.
0.22222222222222222222222222222222. Waar het misschien ook kan zitten, is de afronding van dat getal.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| public static double[][] CalculateGenreConstraints(int[][] genre_constraints) throws Exception{
int sum =0;
calculated_genre_constraints = new double[Genres.getGenreProfTableSize()][2];
//The sum
for (int x = 0; x < Genres.getGenreProfTableSize(); x++)
sum = sum + genre_constraints[x][1];
//Recalculate new values to array: calculated_genre_constraints
for (int x = 0; x < Genres.getGenreProfTableSize(); x++)
for (int y = 0; y < 2; y++) {
System.out.println("Constraint: "+ genre_constraints[x][1]);
System.out.println("Sum: "+ sum);
calculated_genre_constraints[x][y] = (genre_constraints[x][1] /sum);
System.out.println(calculated_genre_constraints[x][y]);
}
return calculated_genre_constraints;
} |