I have created a method to create some random double values  for example 10 values : num1, num2, …num10  which sum of this 10 values is 1 : num1+num2+…+num10 = 1
My method is like the method in forum
Getting N random numbers that the sum is M :
private static double[] randSum(int n, double m) { 
  Random rand = new Random(); 
  double randNums[] = new double[n], sum = 0; 
for (int i = 0; i < randNums.length; i++) { 
    randNums[i] = rand.nextDouble(); 
    sum += randNums[i]; 
 } 
for (int i = 0; i < randNums.length; i++) { 
    randNums[i] /= sum * m; 
 } 
  return randNums; 
} 
But this method create very long numbers like: 0.18593711849349975 I even used Math.round() method but with this method my numbers are 0.0, 0.5, 0.0 , … I need numbers from 0.01 to 0.99 or 0.1 to 0.9. If I was using integer numbers I could do this with something like Random.nextInt(0.98) +0.01 , but nextDouble() method doesn’t accept parameters, how can I do this? Would you please help me? thanks
 
     
     
     
     
    