java代码实现两个一位小数之间10不重复的随机数
时间: 2024-03-14 22:47:39 浏览: 20
可以使用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倍,转换成整数,放大10的15次方倍
BigDecimal max = num1.max(num2).multiply(new BigDecimal("10")).multiply(new BigDecimal("100000000000000"));
BigDecimal min = num1.min(num2).multiply(new BigDecimal("10")).multiply(new BigDecimal("100000000000000"));
HashSet<BigDecimal> set = new HashSet<>();
Random random = new Random();
while (set.size() < 10) {
BigDecimal randomNum = new BigDecimal(random.nextInt(max.intValue() - min.intValue() + 1)).add(min);
set.add(randomNum);
}
for (BigDecimal num : set) {
System.out.println(num.divide(new BigDecimal("10"))); // 将随机数还原成小数输出
}
}
}
```
这段代码会生成10个在2.5和7.3之间的不重复的随机小数。其中,我们将小数扩大10倍,转换成整数,再放大10的15次方倍,然后再生成随机整数。最后将随机整数除以10,得到随机小数。