java输入一个正整数n,使用随机数方法生产n个1到100之间的随机整数,对于其中重复的数字只保留一个,再把这些数从小到大排序,最后输出不相同的随机整数的个数个排序后的随机数
时间: 2024-09-21 18:01:14 浏览: 46
在Java中,你可以使用ArrayList和HashSet数据结构以及Random类来完成这个任务。以下是步骤:
1. 首先,创建一个ArrayList用于存储不重复的随机数,因为HashSet不允许有重复元素。
2. 使用Random类生成指定范围内的随机整数,并添加到ArrayList中。如果已经存在该数,则从列表中移除它,保证唯一性。
3. 当生成n个不重复的随机数后,转换ArrayList回List,因为HashSet不支持排序操作。
4. 对生成的List进行排序,通常可以使用Collections.sort()方法。
5. 输出排序后的List的长度,即不相同的随机数的个数。
这是一个简单的示例代码片段:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
public class UniqueRandomNumbers {
public static void main(String[] args) {
int n = 10; // 输入的正整数
Random random = new Random();
HashSet<Integer> uniqueSet = new HashSet<>();
while (uniqueSet.size() < n) { // 生成直到达到n个不重复的随机数
int num = random.nextInt(101); // 1到100的随机数
uniqueSet.add(num);
}
List<Integer> uniqueList = new ArrayList<>(uniqueSet);
Collections.sort(uniqueList);
System.out.println("不相同的随机数个数:" + uniqueList.size());
System.out.println("排序后的随机数:");
for (int number : uniqueList) {
System.out.print(number + " ");
}
}
}
```
阅读全文