最代码-泽正
2018-08-24 10:41:01
java生成和为指定数的6个随机数工具类
/**
* 生成和为指定数的6个随机数
* 比如和为100 ,如果生成的这个随机数加起来等于100,则打印这6个数。
* 数据类型int
*/
public static void unequal() {
int max=100; //最大为100
int min=1; //最小为10
int num=6; //一共有6个数
int range; //每个数可取值范围
int remain_num; //还剩几个数
int sum=0; //已得数的总和
int[] r=new int[num];
for(int i=0;i<num;i++){
if(i==num-1){
r[i]=max-sum; //最后一个数=最大数-已得数的总和
}
else{
remain_num=num-1-i; //还剩几个数,如循环到第一个数时,i为0,remain_num=3
range=max-sum-min*remain_num; //第一个数的取值范围为1~70
if(range>0){
Random rr =new Random();
r[i]=rr.nextInt(range-min+1)+min;
sum=sum+r[i];
}
}
}
for (int i : r) {
System.out.println(i);
}
}
/**
* 生成和为指定数的6个随机数
* 比如和为100 ,如果生成的这个随机数加起来等于100,则打印这6个数。
* 数据类型double
*/
public static void unequals() {
double sum1=0;
double max=100; //最大为100
double min=0.01; //最小为10
int num=6; //一共有6个数
double range; //每个数可取值范围
int remain_num; //还剩几个数
double sum=0; //已得数的总和
double[] r=new double[num];
for(int i=0;i<num;i++){
if(i==num-1){
r[i]=max-sum; //最后一个数=最大数-已得数的总和
}
else{
remain_num=num-1-i; //还剩几个数,如循环到第一个数时,i为0,remain_num=3
range=max-sum-min*remain_num; //第一个数的取值范围为1~70
if(range>0){
Random rr =new Random();
r[i]=rr.nextDouble()*(range-min+0.01)+min;
sum=sum+r[i];
}
}
}
for (double i : r) {
System.out.println(i);
sum1+=i;
}
System.out.println("总和"+sum1);
}
猜你喜欢
- java两种方法生成随机数
- 史上最全的随机数生成java算法
- 公司java项目用到了随机数,整理分享为java公共类使用
- JAVA加密算法工具
- java 密码工具类分享PasswordUtil.java
- [精品] 收集的27个java开发常用工具类.基本满足开发需求
- java常用工具类
- 精心整理的java常用的26个工具类
- Java开发小工具(集合遍历导出等方法):针对任何项目文件夹,可以递归遍历文件夹中的任何后缀名的文件,提取其中的中文
- java时间工具类(自定义java时间函数30多个)
- 30个java常用工具类分享
- java数据结构之-搜索二叉树、AVL树、红黑树得实现、可以当作工具类直接使用
请下载代码后再发表评论
相关代码
最近下载
最近浏览
1112WHQ LV7
2023年11月3日
微信网友_6602457430806528 LV6
2023年8月12日
wuziayng1232 LV11
2023年2月20日
微信网友_6252914817732608
2022年12月8日
暂无贡献等级
crosa_Don LV18
2022年7月6日
双鱼座程序员7号 LV6
2022年2月10日
Mywang LV4
2021年11月19日
PPDONG LV1
2021年6月22日
落后就要挨打 LV26
2021年6月16日
Zeorwyc LV8
2021年3月20日




