利用Java实现利用随机函数产生20个10~90之间的不重复整数。将这些数拼接在一个字符串中,用逗号隔开,每产生一个新数,要保证在该串中不存在。最后将串中的整数分离存放到一个数组中,将数组的内容按由小到大输出。
时间: 2024-02-29 08:51:20 浏览: 90
将一个整数S随机拆分为N个在min~max之间的整数.txt
好的,我知道了你的问题。以下是Java程序代码实现:
```java
import java.util.Arrays;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
Random rand = new Random();
while (set.size() < 20) {
int num = rand.nextInt(81) + 10;
if (!set.contains(num)) {
set.add(num);
}
}
StringBuilder sb = new StringBuilder();
for (int num : set) {
sb.append(num).append(",");
}
String str = sb.toString();
int[] arr = Arrays.stream(str.split(",")).mapToInt(Integer::parseInt).toArray();
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
```
首先,我们使用`java.util.Random`类生成随机数,并通过`java.util.HashSet`类来存储不重复的整数。当我们的集合大小达到20时,就可以停止生成随机数。
其次,我们使用`StringBuilder`来将这些整数拼接成一个字符串,并用逗号隔开。
然后,我们将字符串转换为整数数组,并使用`Arrays.sort()`方法将其按升序排列。
最终,我们使用`System.out.println()`打印整数数组。
希望这个程序能够帮助到你!
阅读全文