神奇,教你用随机数打印hello world

简介: 每次都会输出:hello world,这是为什么呢??Random构造函数,参数seed是初始种子,相同的种子每次产生的随机数都一样,所以无论怎么随机,构造出来的随机数都一样。Random r = new Random(-229985452)

下面是一段随机数程序。

public static void main(String[] args) {
    System.out.println(randomString(-229985452) + " " + randomString(-147909649));
}
public static String randomString(int seed) {
    Random ran = new Random(seed);
    StringBuilder sb = new StringBuilder();
    while (true) {
        int k = ran.nextInt(27);
        if (k == 0) {
            break;
        }
        sb.append((char) ('`' + k));
    }
    return sb.toString();
}

每次都会输出:hello world,这是为什么呢??

Random构造函数,参数seed是初始种子,相同的种子每次产生的随机数都一样,所以无论怎么随机,构造出来的随机数都一样。

Random r = new Random(-229985452)

会产生以下5位不为0的随机数:

8
5
12
12
15

程序里面用`符号相加,`代表96.

所以,有下面的结果:

8  + 96 = 104 --> h
5  + 96 = 101 --> e
12 + 96 = 108 --> l
12 + 96 = 108 --> l
15 + 96 = 111 --> o
23 + 96 = 119 --> w
15 + 96 = 111 --> o
18 + 96 = 114 --> r
12 + 96 = 108 --> l
4  + 96 = 100 --> d

一段很简单的程序却如此神奇,分享给别人,看他知道不?

推荐阅读

相关文章
|
3月前
输出 "Hello, World!"
【10月更文挑战第12天】输出 "Hello, World!"
21 2
|
3月前
在 main 函数中输入字符串
在 main 函数中输入字符串。
27 3
|
C++
C++数组在年历打印中的运用
C++数组在年历打印中的运用
113 0
|
C语言 C++
C++打印hello world
C++打印hello world
188 0
|
Python 容器
[oeasy]python0136_接收输入_input函数_字符串_str
[oeasy]python0136_接收输入_input函数_字符串_str
107 0
|
Python
笨办法学 Python--跟书练习九~打印 打印 打印
笨办法学 Python--跟书练习九~打印 打印 打印
114 0
笨办法学 Python--跟书练习九~打印 打印 打印
|
Serverless C语言 C++
第一个函数:Hello World (上)
实现一个Hello World是入门各个编程语言的第一节课,无论是我们学习C语言,C++,Python等,貌似都离不开一个Hello World,既然如此,本章将会基于Serverless架构,在主流的云厂商的FaaS平台实现一个Hello World。
132 0
|
Serverless 测试技术 文件存储
第一个函数:Hello World (下)
但我们注册并登陆我们的阿里云账号之后,我们可以找到函数计算产品:
117 0
L1-001 Hello World (5 分)
L1-001 Hello World (5 分)
58 0