用js写一个1-80之间的10个随机数,去重,从小到大排列的数组
时间: 2024-05-10 21:21:26 浏览: 286
以下是使用JavaScript编写的解决方案:
```javascript
// 生成10个1-80之间的随机数
let arr = [];
while (arr.length < 10) {
let num = Math.floor(Math.random() * 80) + 1;
if (arr.indexOf(num) === -1) {
arr.push(num);
}
}
// 从小到大排序
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
```
解释:
首先,我们使用一个 while 循环来生成10个1-80之间的随机数,并通过 indexOf 方法检查是否已经在数组中存在。如果不存在,则将其添加到数组中。
接下来,我们使用 sort 方法按升序对数组进行排序。sort 方法接受一个比较函数作为参数,该函数返回一个负数、零或正数,表示两个元素的相对顺序。
最后,我们使用 console.log 输出结果。
相关问题
用js写一个1-80之间的10个随机数
以下是使用 JavaScript 生成1-80之间的10个随机数的代码:
```javascript
// 生成10个随机数
for (var i = 0; i < 10; i++) {
var randomNum = Math.floor(Math.random() * 80) + 1;
console.log(randomNum);
}
```
解释:
- `Math.random()` 方法生成一个介于 0 和 1 之间的随机数。
- 乘以 80 后,得到一个介于 0 和 80 之间的随机数。
- `Math.floor()` 方法将随机数向下取整,得到一个介于 0 和 79 之间的整数。
- 加上 1 后,得到一个介于 1 和 80 之间的整数。
java 输入两个整数,其中第一个数代表数组长度,第二个数代表随机数种子; 创建数组并添加随机数(随机数介于 0-19 之间); 输出随机数出现的次数(出现次数大于 0 才输出); 按随机数从小到大排序输出。
在 Java 中,你可以使用 `Random` 类来生成指定范围内的随机数,并结合数组和循环来完成这个任务。以下是具体的步骤:
1. 首先,获取用户输入的数组长度和随机数种子,例如:
```java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度:");
int length = scanner.nextInt();
System.out.print("请输入随机数种子(建议设置固定的值,如 System.currentTimeMillis()):");
long seed = scanner.nextLong(); // 使用当前时间作为默认值,也可以手动输入
```
2. 创建一个大小为输入长度的整数数组,并用 `Random` 类生成随机数:
```java
int[] numbers = new int[length];
Random random = new Random(seed);
for (int i = 0; i < length; i++) {
numbers[i] = random.nextInt(20); // 生成0到19之间的随机整数
}
```
3. 计算每个随机数出现的次数,可以使用哈希表(HashMap)存储计数:
```java
Map<Integer, Integer> countMap = new HashMap<>();
for (int number : numbers) {
countMap.put(number, countMap.getOrDefault(number, 0) + 1);
}
```
4. 输出出现次数大于0的随机数及其出现次数:
```java
countMap.entrySet().stream()
.filter(entry -> entry.getValue() > 0)
.forEach(entry -> System.out.println("数字 " + entry.getKey() + " 出现了 " + entry.getValue() + " 次"));
```
5. 对数组进行排序(这里假设你想要按照自然顺序排序):
```java
Arrays.sort(numbers);
```
6. 最后,遍历已排序的数组输出:
```java
System.out.println("按升序排列后的数组:");
for (int num : numbers) {
System.out.print(num + " ");
}
```
阅读全文