为什么说Java中的随机数都是伪随机数
声明下:以下是我复制的,我本人也算是涨知识了.噪声厉害了我的哥!
1.只要是通过算法产生的随机数都是伪随机数。
2.通过真实随机事件取得的随机数才是真随机数。
3.Linux和windows 系统都有自带的真随机数函数,它们是通过外部噪音来实现的,如,敲击键盘的时间间隔,特定的中断等。
4.像编程语言自带的随机数函数是很容易被黑客破解的
5.例如:Java的随机数产生是通过去模运算产生的,黑客只需要知道连续的2个随机数就可以预测下一个随机数。python 采用的是MT算法,破解难度要稍微比Java 难一些!
JAVA随机事件
做个随机函数int random() 返回范围控制在1-100.
先得到第一个随机数,然后再取随机数如果和第一个数相等就重新取直到不等为止。第2个就和前两个比。 当然用递归最容易实现。
得到3个不等随机数后,就在这3点加上不同颜色。
鼠标触发很简单,addMouseListener(new MouseListener({
//实现它的几个方法。。
}))
只能给你说个方法,具体代码自己研究吧。这才能真正学习JAVA。
如何对图文界面的一部分面积打上标签?
添加标签的时候设置它的布局
java随机事件
在鼠标的单击事件中用Random产生一个随机数0-n的随机数,判断,当产生的为不同值时去调用不同的方法
java伪随机数是否有可以预测的方法?
只要知道了种子,就能预测了
java的伪随机数的生成完全依赖于种子
如果有相同的种子,那么生成的伪随机数序列就会相同
java里面,怎么产生随即数!不是伪随即数,随即数和伪随即数有什么区别??
java里面只能产生伪随机数,不能产生随机数。
真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率是100%。所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数。