Java:创建一个随机整数数组,每个整数之间有一个偏移量/距离
我想在Java中创建一个随机整数数组(min&max),但我希望每个随机生成的数字之间有一个偏移距离 也就是说,假设我想创建一个数组列表,其中包含10个介于20和100之间的整数,偏移/距离应为5。阵列可能是21、28、35、52、58、65、72、80、86、95 非常感谢这个简单的变体(不处理溢出):Java:创建一个随机整数数组,每个整数之间有一个偏移量/距离,java,arrays,random,offset,Java,Arrays,Random,Offset,我想在Java中创建一个随机整数数组(min&max),但我希望每个随机生成的数字之间有一个偏移距离 也就是说,假设我想创建一个数组列表,其中包含10个介于20和100之间的整数,偏移/距离应为5。阵列可能是21、28、35、52、58、65、72、80、86、95 非常感谢这个简单的变体(不处理溢出): “偏移/距离应为5”是什么意思?例如,在您的示例中,35和52之间的距离大于5。我的意思是,每个数字之间应该至少有5个整数差。选择2到20范围内的10个随机(但不同)整数(参见示例),然后将每
“偏移/距离应为5”是什么意思?例如,在您的示例中,35和52之间的距离大于5。我的意思是,每个数字之间应该至少有5个整数差。选择2到20范围内的10个随机(但不同)整数(参见示例),然后将每个数字乘以5。
int min;
int max;
int offset;
public int getRandomNumber(int current) {
int curMin = current - offset;
if (curMin < min)
curMin = min;
int curMax = current + offset;
if (curMax > max)
curMax = max;
return curMin + (int) ( Math.random() * (curMax - curMin + 1));
}
int first = min + (int) ( Math.random() * (max - min + 1));