`
wjt276
  • 浏览: 650395 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Random

    博客分类:
  • Java
阅读更多

一、Random

1、创建Random类型的对象:

 

Random random = new Random();//默认构造方法

Random random = new Random(10010010);//指定种子数字

 

2、生成随机数字:

 

生成随机整数:

int k = random.nextInt();

 

生成随机长整数:

long l = random.nextLong();

 

3、生成指定范围的数字:

 

例如生成0-10之间的随机数字:

 int k = random.nextInt();

int j = Math.abs(k % 10);

 

//直接方式:rand.nextInt(range);

int i =random.nextInt(10);

 

获得10-20之间的随机数字:

int k = random.nextInt();

int j = Math.abs(k % 10) + 10;

 

int i = (int)(Math.random()*1000)

 

random对象的nextInt(),nextInt(int n)说明:

 

int nextInt()
  返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。  有正有负。

int nextInt(int n)
  返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。

 

4、next(int bits)

 

        next(n)产生2的n次方之内的随机数,next(32)产生2的32次方之内的随机数,就相当于nextInt()了。

 

5、setSeed(long seed)

 

       setSeed(long seed) 用于设定随机数的种子,即这里的seed。随机数种子的用处是:一般说来,这里的Random类产生随机数是伪随机数,是系统采用特定的算法生成出来的,方法是new两个Random类random1和random2。各自调用nextInt方法10次,我们可以看出,虽然各自产生的是随机数,但是两个Random类产生的随机数都是一样的。这就使得随机数存在着漏洞。

 

二、java disabuse

 

Java代码 复制代码
  1. /***********双括弧初始化:内层的花括号就是匿名类的初始化子句************/  
  2. @SuppressWarnings("unchecked")   
  3. private static Map map = new HashMap() {{      
  4.     put("id""20090501");      
  5.     put("name""name1");   
  6.     put("age","20");   
  7. }};     
  8.   
  9. private static final Set<String> set = new HashSet<String>() {{      
  10.        add("lucy");      
  11.        add("lily");      
  12.        add("frank");      
  13.        add("bruce");      
  14. }};     
  15.   
  16. public static void printSet(Set set){   
  17.     Iterator it = set.iterator();   
  18.     while(it.hasNext()){   
  19.         System.out.println(it.next());   
  20.     }   
  21. }   
  22.   
  23. public static void printMap(Map map) {    
  24.        for (Object key : map.keySet()) {      
  25.            System.out.println(key + ":" + map.get(key));      
  26.        }     
  27. }   
  28.   
  29. public static void printSelf() {   
  30.     // 正则表达式“.”可以匹配任何单个的字符,要转义   
  31.     System.out.println(JavaDisabuse.class.getName().replaceAll("\\.""/")   
  32.             + ".class");   
  33.     // java.util.regex.Pattern.quote。它接受一个字符串作为参数,并可以添加必   
  34.     // 需的转义字符,它将返回一个正则表达式字符串   
  35.     System.out.println(JavaDisabuse.class.getName().replaceAll(   
  36.             Pattern.quote("."), "/")+ ".class");   
  37.        
  38.     //java.util.regex.Matcher.quoteReplacement,它将字   
  39.     //符串转换成相应的替代字符串。   
  40.     System.out.println(JavaDisabuse.class.getName().replaceAll("\\.",   
  41.             Matcher.quoteReplacement(File.separator)) + ".class");   
  42.        
  43.     System.out.println(JavaDisabuse.class.getName().   
  44.             replace('.', File.separatorChar) + ".class");   
  45. }   
  46.   
  47. /** ***********提防溢出*************** */  
  48. public static void longDivision() {   
  49.     final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;// 乘完后(已溢出)转型   
  50.     final long MICROS_PER_DAY_L = 24L * 60 * 60 * 1000 * 1000;   
  51.     final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;   
  52.   
  53.     System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);// 5   
  54.     System.out.println(MICROS_PER_DAY_L / MILLIS_PER_DAY);// 1000   
  55. }   
  56.   
  57. /** ***********执行精确小数运算********* */  
  58. public static BigDecimal subtract(String arg0, String arg1) {   
  59.     // 问题在于1.1 这个数字不能被精确表示成为一个double,因此它被表示成为最   
  60.     // 接近它的double值。   
  61.     System.out.println(2.00 - 1.10);// 二进制浮点数的double运算:0.8999999999999999   
  62.     return new BigDecimal(arg0).subtract(new BigDecimal(arg1));// 0.90   
  63. }   
  64.   
  65. /** *******求奇数(莫用i%2==1,负数失效)********* */  
  66. public static boolean isOdd(int i) {   
  67.     return i % 2 != 0;   
  68. }   
  69.   
  70. public static boolean isOdd1(int i) {   
  71.     return (i & 1) != 0;   
  72. }  
分享到:
评论
1 楼 hezhou_0521 2010-10-29  
VERY good

相关推荐

    hw_random硬件随机数1

    【hw_random硬件随机数生成器】是Android系统中利用CPU或主板上特殊硬件特性——随机数生成器(RNG)的软件框架。该框架由两部分组成:核心部分提供名为/dev/hw_random的字符设备及其sysfs支持,另一部分是针对特定...

    randomForest_R

    随机森林(Random Forest)是一种集成学习方法,广泛应用于机器学习领域,尤其在分类和回归问题上表现出色。在R语言中,`randomForest`包是实现这一算法的重要工具。这个包由Breiman等人开发,提供了丰富的功能,...

    math.random用法

    Math.random 用法 Math.random() 函数是一种生成随机数的函数,返回值是一个大于等于 0,且小于 1 的随机数。该函数广泛应用于 Flash 中的随机数生成、随机移动、随机颜色等方面。在本文中,我们将详细介绍 Math....

    Probability, Random Variables and Stochastic Processes

    本书的标题“Probability, Random Variables and Stochastic Processes”(概率论、随机变量和随机过程)指向了概率论这一数学分支的主要研究对象和研究内容。概率论是研究随机事件及其规律性的数学理论,它为分析和...

    【Java】Math.random()

    Math.Random()简介 Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 for (int i = 0; i ...

    ASP Random Images V1.0.2

    ASP Random Images V1.0.2 是一个专为ASP(Active Server Pages)开发的组件,主要用于在网页中动态展示随机图像。这个组件适用于那些希望在网站上实现图像轮播、随机广告显示或任何需要随机性视觉元素的场景。ASP是...

    Python random库使用方法及异常处理方案

    1.random库的使用: random库是使用随机数的Python标准库 从概率论角度来说,随机数是随机产生的数据(比如抛硬币),但时计算机是不可能产生随机值,真正的随机数也是在特定条件下产生的确定值,只不过这些条件...

    Random_Numbers_Android-master_randomnumbers_random_androidstudio

    这个项目"Random_Numbers_Android-master_randomnumbers_random_androidstudio"显然专注于如何在Android Studio环境下生成和使用随机数。 在Android中,生成随机数主要依靠`java.util.Random`类。这个类提供了多种...

    Python random 生成随机数

    ### Python Random 模块生成随机数 在Python编程语言中,`random`模块提供了一系列用于生成伪随机数的函数。这些函数广泛应用于多种场景中,包括但不限于模拟、游戏开发、统计抽样等。本文将详细介绍`random`模块中...

    Random伪随机数

    namespace 伪随机数{ class Program { static void Main(string[] args) { Random rnd=new Random (); char c; Random ro = new Random(); Console.WriteLine("{0}", ro); int d = ro.Next(); Console.WriteLine("{0...

    用C++封装的CRandom类

    本文将深入探讨一个名为`CRandom`的类,它被封装用来简化和增强C++中的随机数生成功能。这个类允许开发者轻松地生成指定范围内的随机整数、浮点数以及布尔值,提高了代码的可读性和复用性。 `CRandom`类的核心在于...

    Probability and Random Processes

    This book is intended to be used as a text for either undergraduate level (junior/senior) courses in probability or introductory graduate level courses in random processes that are commonly found in ...

    shell脚本如何获取随机数random

    这个函数检查环境变量$RANDOM是否存在,如果不存在则从/dev/urandom获取一个种子,否则使用$RANDOM作为种子。然后,利用awk工具生成一个范围在$1和$2之间的随机数。这个范围是函数的参数,可以灵活设置。 最后,...

    random bit generator_RandomNumber_random_源码

    "random bit generator_RandomNumber_random_源码" 主题关注的是如何利用混沌键序列来生成随机比特流,这是一种非传统但可能具有高度随机性的方法。 在传统的计算机系统中,随机数通常由伪随机数生成器(PRNG)产生...

    random forest.zip

    在这个"random forest.zip"文件中,我们可以预见到包含的是一个Python环境下的随机森林算法实现过程,特别是使用了Anaconda这个科学计算平台,它包含了众多数据分析和机器学习所需的库。 在Python中,随机森林通常...

    Java基础之Random随机数.docx

    Java基础之Random随机数 Java中的随机数使用率非常高,因此掌握随机数的使用是非常重要的。在Java中,Random类提供了产生随机数的方法,下面将详细介绍Random类的使用。 Random类的使用 Random类是Java中生成...

    FLASH中使用Random函数创建随机数

    在Flash中,Random函数是ActionScript编程语言的一部分,用于生成介于0到1之间的随机浮点数。这个数值是不包括0但包括1的。如果你需要生成特定范围内的整数随机数,例如1到100,那么你需要对Random函数的结果进行...

    Machine Learning With Random Forests And Decision Trees - A Visual Guide

    An overview of decision trees and random forests A manual example of how a human would classify a dataset, compared to how a decision tree would work How a decision tree works, and why it is prone ...

Global site tag (gtag.js) - Google Analytics