【Java】用随机数打印hello world
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相关推荐
- Java获得随机数的几种方法
转自http://blog.sina.com.cn/s/blog_4f925fc30100uvur.html 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: ...
- Java获取随机数的3种方法和总结
方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 ...
- java加权随机数抽奖_java版根据权重抽奖算法
根据权重进行抽取的算法应用比较广泛,其中抽奖便是主要用途之一.正好这几天也正在进行抽奖模块的开发,整个抽奖模块涉及到的地方大概有三处,分别是后台进行奖品的添加(同时设置权重和数量),前台根据后台配置生 ...
- java发布后功能不能用,急项目发布后java写的打印功能失效了-求解解决方法
当前位置:我的异常网» J2EE » 急项目发布后java写的打印功能失效了-求解解决方法 急项目发布后java写的打印功能失效了-求解解决方法 www.myexceptions.net 网友分享于 ...
- Java中随机数的原理,以及使用时的注意点
转载自 Java中随机数的原理,以及使用时的注意点 1 前言 一提到 Java 中的随机数,很多人就会想到 Random,当出现生成随机数这样需求时,大多数人都会选择使用 Random 来生成随机 ...
- 神奇,教你用随机数打印hello world
转载自 神奇,教你用随机数打印hello world 下面是一段随机数程序. public static void main(String[] args) {System.out.println(ra ...
- Java生成随机数的几种高级用法
转载自 进阶 | Java生成随机数的几种高级用法! 言归正传,众所周知,随机数是任何一种编程语言最基本的特征之一.而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数.看似简单,但有时我们也 ...
- Java——IO(打印流)
1,打印字节流(PrintStream)的概述: 打印流可以很方便的将对象的toString()结果输出并且自动加上换行,而且可以使用自动刷出的模式 System.out就是一个PrintStream ...
- java随机生成1到33数组,JAVA 生成随机数数组
一.JAVA获取随机数的方法 //使用java.lang.Math类的random()方法 double a = Math.random(); System.out.println("0.0 ...
- java 日期随机数_Java 生成指定时间范围的随机时间、随机中文姓名、随机字符姓名、随机数...
解决问题: Java生成指定时间范围的随机时间? Java生成随机中文姓名? Java生成随机字符姓名? Java生成随机数? 代码: import java.io.UnsupportedEncodi ...
最新文章
- 介绍一个打怪升级练习 Python 的网站,寓教于乐~
- Nature:2020年最佳科学影像,每一张都是壁纸,每一张都是历史
- nginx https反向代理tomcat
- JS每隔一段时间执行一个方法
- 为什么 a==true 和 a==false 结果都是false ?
- 2018年Android面试题整理
- 『007』MySQL
- window10+cuda+cudnn下载
- 汇编语言学习之DOSBox+MASM 安装及使用教程
- 【无标题】C# 修改操作时禁用过滤器
- firefox 网页无法播放视频问题
- 如何引用阿里云矢量图标库
- 360云盘 上传服务器忙,360云盘由于服务器压力延期一年关闭 可以慢慢转移资源了...
- 微软dpm服务器,使用 DPM 的 ReFS 卷在服务器中Windows Server 2016
- 华为scp快充协议详解_华为SCP快充技术曝光:支持“电荷泵”技术,最高可达20W...
- MATLAB实现一元三次方程求解/盛金公式
- 华为P10手机有计算机功能吗,手机教程知识:华为P10支持NFC功能吗 华为P10新功能介绍...
- 欧几里得 扩展欧几里得
- 想做倒卖生意,现在有两万启动资金,倒卖什么比较好?
- 三大设计模式详细总结