1.概述

转载:http://www.javastack.cn/article/2017/random-hello-world/

下面是一段随机数程序。

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

Random r = new Random(-147909649)

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

23
15
18
12
4

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

所以,有下面的结果:

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

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

【Java】用随机数打印hello world相关推荐

  1. Java获得随机数的几种方法

    转自http://blog.sina.com.cn/s/blog_4f925fc30100uvur.html 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: ...

  2. Java获取随机数的3种方法和总结

    方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 ...

  3. java加权随机数抽奖_java版根据权重抽奖算法

    根据权重进行抽取的算法应用比较广泛,其中抽奖便是主要用途之一.正好这几天也正在进行抽奖模块的开发,整个抽奖模块涉及到的地方大概有三处,分别是后台进行奖品的添加(同时设置权重和数量),前台根据后台配置生 ...

  4. java发布后功能不能用,急项目发布后java写的打印功能失效了-求解解决方法

    当前位置:我的异常网» J2EE » 急项目发布后java写的打印功能失效了-求解解决方法 急项目发布后java写的打印功能失效了-求解解决方法 www.myexceptions.net  网友分享于 ...

  5. Java中随机数的原理,以及使用时的注意点

    转载自   Java中随机数的原理,以及使用时的注意点 1 前言 一提到 Java 中的随机数,很多人就会想到 Random,当出现生成随机数这样需求时,大多数人都会选择使用 Random 来生成随机 ...

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

    转载自 神奇,教你用随机数打印hello world 下面是一段随机数程序. public static void main(String[] args) {System.out.println(ra ...

  7. Java生成随机数的几种高级用法

    转载自 进阶 | Java生成随机数的几种高级用法! 言归正传,众所周知,随机数是任何一种编程语言最基本的特征之一.而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数.看似简单,但有时我们也 ...

  8. Java——IO(打印流)

    1,打印字节流(PrintStream)的概述: 打印流可以很方便的将对象的toString()结果输出并且自动加上换行,而且可以使用自动刷出的模式 System.out就是一个PrintStream ...

  9. java随机生成1到33数组,JAVA 生成随机数数组

    一.JAVA获取随机数的方法 //使用java.lang.Math类的random()方法 double a = Math.random(); System.out.println("0.0 ...

  10. java 日期随机数_Java 生成指定时间范围的随机时间、随机中文姓名、随机字符姓名、随机数...

    解决问题: Java生成指定时间范围的随机时间? Java生成随机中文姓名? Java生成随机字符姓名? Java生成随机数? 代码: import java.io.UnsupportedEncodi ...

最新文章

  1. 介绍一个打怪升级练习 Python 的网站,寓教于乐~
  2. Nature:2020年最佳科学影像,每一张都是壁纸,每一张都是历史
  3. nginx https反向代理tomcat
  4. JS每隔一段时间执行一个方法
  5. 为什么 a==true 和 a==false 结果都是false ?
  6. 2018年Android面试题整理
  7. 『007』MySQL
  8. window10+cuda+cudnn下载
  9. 汇编语言学习之DOSBox+MASM 安装及使用教程
  10. 【无标题】C# 修改操作时禁用过滤器
  11. firefox 网页无法播放视频问题
  12. 如何引用阿里云矢量图标库
  13. 360云盘 上传服务器忙,360云盘由于服务器压力延期一年关闭 可以慢慢转移资源了...
  14. 微软dpm服务器,使用 DPM 的 ReFS 卷在服务器中Windows Server 2016
  15. 华为scp快充协议详解_华为SCP快充技术曝光:支持“电荷泵”技术,最高可达20W...
  16. MATLAB实现一元三次方程求解/盛金公式
  17. 华为P10手机有计算机功能吗,手机教程知识:华为P10支持NFC功能吗 华为P10新功能介绍...
  18. 欧几里得 扩展欧几里得
  19. 想做倒卖生意,现在有两万启动资金,倒卖什么比较好?
  20. 三大设计模式详细总结

热门文章

  1. 潮流配色+定制音效 OPPO Enco X蓝调版真无线降噪耳机解析
  2. 特斯拉回应海南碰撞事故:地面湿滑 车主踩制动踏板幅度较轻
  3. 荣耀V40将采用300Hz 触控采样率,1月18日正式发布!
  4. 拉勾发布互联网社畜输入法报告:市场人每日打字7300个
  5. Redmi王腾:Redmi 10X还会带来全新滤镜
  6. 紫米创始人张峰兼任小米笔记本总经理
  7. MSCI发布最新ESG评级 三七互娱位居A股游戏行业最高
  8. 华为发布麒麟990系列芯片,余承东评论友商5G芯片:苹果没有 三星PPT
  9. 6400万像素时代来了,小米首个入局
  10. 一个女孩写的经典程序