神奇,教你用随机数打印hello world
生活随笔
收集整理的這篇文章主要介紹了
神奇,教你用随机数打印hello world
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載自?神奇,教你用隨機(jī)數(shù)打印hello world
下面是一段隨機(jī)數(shù)程序。
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(); }每次都會(huì)輸出:hello world,這是為什么呢??
Random構(gòu)造函數(shù),參數(shù)seed是初始種子,相同的種子每次產(chǎn)生的隨機(jī)數(shù)都一樣,所以無(wú)論怎么隨機(jī),構(gòu)造出來(lái)的隨機(jī)數(shù)都一樣。
Random r = new Random(-229985452)
會(huì)產(chǎn)生以下5位不為0的隨機(jī)數(shù):
8 5 12 12 15Random r = new Random(-147909649)
會(huì)產(chǎn)生以下5位不為0的隨機(jī)數(shù):
23 15 18 12 4程序里面用`符號(hào)相加,`代表96.
所以,有下面的結(jié)果:
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一段很簡(jiǎn)單的程序卻如此神奇,分享給別人,看他知道不?
總結(jié)
以上是生活随笔為你收集整理的神奇,教你用随机数打印hello world的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 篮球场划线标准尺寸 篮球场划线标准尺寸是
- 下一篇: Intellij Idea乱码解决方案都