标签:java randInt 数为 float prop int NUM sumprop 小数位
参考https://www.cnblogs.com/kxdblog/p/4197831.html
package com.thesis.Method1;
import java.text.DecimalFormat;
public class MainSolution {
private static final int NUM = 5;
public static void main(String[] args){
for(float f :genProp()){
System.out.println(f );
}
}
public static float[] genProp(){
//产生概率随机数,且让和为1
float[] prop =new float[NUM];
int[] randInt =new int[NUM];
int sum=0;
for(int i=0;i<NUM;i++){
randInt[i]=1+(int)(Math.random()*10);
sum+=randInt[i];
}
DecimalFormat dF=new DecimalFormat(".00");
float sumprop=0;
for(int i=0;i<NUM;i++){
prop[i]= Float.parseFloat(dF.format(1.0*randInt[i]/sum));
sumprop+=prop[i];
}
sumprop=Float.parseFloat(dF.format(sumprop));
if(sumprop<1){
prop[NUM-1]+=1-sumprop;
}
else {
prop[NUM - 1] -= sumprop - 1;
}
return prop;
}
}
标签:java,randInt,数为,float,prop,int,NUM,sumprop,小数位 来源: https://www.cnblogs.com/ffaiss/p/11663601.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。