//0.05刻み(1/「20」)
final int div = 20;

//合計1.0((1/20) * 「20」)
final int target = 20;

Random r = new Random();
for (int sum = 0; sum < target; ) {
int value = 1 + r.nextInt(target - sum);
System.out.printf("%.2f (%d / %d [前計:%d])\n", ((double)value) / div, value, div, sum);
sum += value;
}