Java、Python、js等生成1000~9999的随机数
·
以下是在常见编程语言中生成**1000 到 9999 之间(包含 1000 和 9999)**随机整数的标准方法。所有示例均可直接运行,并确保生成的随机数均匀分布在指定范围内。
1. Python
import random
# 方法1:random.randint(推荐,最简洁,包含上下界)
random_number = random.randint(1000, 9999)
print(random_number) # 示例输出:5732
# 方法2:random.randrange(不包含上界时使用)
random_number = random.randrange(1000, 10000) # 10000 不包含
print(random_number)
2. Java
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
Random random = new Random();
// 方法1:nextInt(推荐)
int randomNumber = random.nextInt(9000) + 1000; // 0~8999 + 1000 → 1000~9999
System.out.println(randomNumber); // 示例输出:7421
// 方法2:使用Math.random()(不推荐用于整数,精度稍差)
int randomNumber2 = (int) (Math.random() * 9000) + 1000;
System.out.println(randomNumber2);
}
}
3. JavaScript(Node.js 或浏览器环境)
// 方法1:Math.random() + Math.floor(最常用)
let randomNumber = Math.floor(Math.random() * 9000) + 1000; // 1000~9999
console.log(randomNumber); // 示例输出:3189
// 方法2:使用Crypto API(更安全的加密级随机数,推荐用于安全场景)
function getSecureRandomInt() {
const array = new Uint32Array(1);
crypto.getRandomValues(array);
return (array[0] % 9000) + 1000;
}
console.log(getSecureRandomInt());
4. 其他常见语言补充
Go
import (
"fmt"
"math/rand"
"time"
)
rand.Seed(time.Now().UnixNano())
randomNumber := rand.Intn(9000) + 1000 // 1000~9999
fmt.Println(randomNumber)
C++
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> distrib(1000, 9999);
int randomNumber = distrib(gen);
std::cout << randomNumber << std::endl;
return 0;
}
PHP
<?php
$randomNumber = rand(1000, 9999);
echo $randomNumber;
?>
总结对比表
| 语言 | 推荐方法 | 包含边界 | 备注 |
|---|---|---|---|
| Python | random.randint(1000, 9999) | 是 | 最简洁直观 |
| Java | random.nextInt(9000) + 1000 | 是 | Random 类性能良好 |
| JavaScript | Math.floor(Math.random() * 9000) + 1000 | 是 | 适用于大多数场景 |
| JavaScript(安全) | crypto.getRandomValues | 是 | 用于密码、令牌等高安全需求 |
上述方法均能可靠生成 1000~9999 范围内的随机整数。如需生成多个随机数或避免重复,可结合集合或数组进行扩展处理。
更多推荐


所有评论(0)