Java代码实现两个小数之间十个不重复随机数
时间: 2024-03-14 14:47:37 浏览: 63
可以使用Java的Random类来生成随机数,然后使用HashSet来存储已生成的随机数,以保证不重复。下面是示例代码:
```java
import java.util.HashSet;
import java.util.Random;
import java.math.BigDecimal;
public class RandomDecimal {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("2.5"); // 第一个小数
BigDecimal num2 = new BigDecimal("7.3"); // 第二个小数
// 将两个小数转换成整数,放大10的16次方倍
BigDecimal max = num1.max(num2).multiply(new BigDecimal("10000000000000000"));
BigDecimal min = num1.min(num2).multiply(new BigDecimal("10000000000000000"));
HashSet<BigDecimal> set = new HashSet<>();
Random random = new Random();
while (set.size() < 10) {
BigDecimal randomNum = new BigDecimal(random.nextDouble()).multiply(max.subtract(min)).add(min);
set.add(randomNum);
}
for (BigDecimal num : set) {
System.out.println(num.divide(new BigDecimal("10000000000000000"))); // 将随机数还原成小数输出
}
}
}
```
这段代码会生成10个在2.5和7.3之间的不重复的随机小数。
阅读全文