`
lushuaiyin
  • 浏览: 676241 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用java.lang.Math 生成随机数字

阅读更多

这里我想说生成随机数字,并且使用java.lang.Math 这个类。内容很少,直接上代码吧。

RamdomUtil

package org.xml.util;

public class RamdomUtil {

	/**
	 * 使用Math.random()生成随机小数0-1之间
	 * @return  0.2828253436134537
	 */
	public static String createRandomDoubleWithDotByMath(){
		String res="";
		Double d=Math.random();
		res=String.valueOf(d);
		return res;
	}
	
	/**
	 * 使用Math.random()生成随机小数0-1之间,再乘以参数multiplier
	 * @return  23.00129411460935
	 */
	public static String createRandomDoubleWithDotByMath(int multiplier){
		String res="";
		if(multiplier<=0){
			multiplier=1;
		}
		Double d=Math.random()*multiplier;
		res=String.valueOf(d);
		return res;
	}
	
	/**
	 * 使用Math.random()生成随机小数0-1之间,只要小数点后面的数字
	 * @return  2314994860279005
	 */
	public static String createRandomDoubleWithoutDotByMath(){
		String res="";
		Double d=Math.random();
		res=String.valueOf(d);
		res=res.substring(res.indexOf(".")+1);
		return res;
	}
	
	/**
	 * 使用Math.random()生成随机小数0-1之间,再乘以参数multiplier,只要小数点后面的数字
	 * @return  911269130333089
	 */
	public static String createRandomDoubleWithoutDotByMath(int multiplier){
		String res="";
		if(multiplier<=0){
			multiplier=1;
		}
		Double d=Math.random()*multiplier;
		res=String.valueOf(d);
		res=res.substring(res.indexOf(".")+1);
		return res;
	}
	
	/**
	 * 系统当前时间的毫秒数
	 * @return  1361773407554
	 */
	public static String createRandomNumberBySystemTime(){
		String res="";
		Long ltime=System.currentTimeMillis();
		res=String.valueOf(ltime);
		return res;
	}
	
	/**
	 * 系统当前时间的毫秒数,再乘以multiplier
	 * @return  136177358759900
	 */
	public static String createRandomNumberBySystemTime(int multiplier){
		String res="";
		if(multiplier<=0){
			multiplier=1;
		}
		Long ltime=System.currentTimeMillis()*multiplier;
		res=String.valueOf(ltime);
		return res;
	}
	
	
	public static void main(String[] ss){
		String r1=RamdomUtil.createRandomDoubleWithDotByMath();
		System.out.println(r1);
		
		String r2=RamdomUtil.createRandomDoubleWithDotByMath(100);
		System.out.println(r2);
		
		String r3=RamdomUtil.createRandomDoubleWithoutDotByMath();
		System.out.println(r3);
		
		String r4=RamdomUtil.createRandomDoubleWithoutDotByMath(100);
		System.out.println(r4);
		
		System.out.println("------------------------------");
		
		String r5=RamdomUtil.createRandomNumberBySystemTime();
		System.out.println(r5);
		
		
		String r6=RamdomUtil.createRandomNumberBySystemTime(100);
		System.out.println(r6);
		
		System.out.println("---------业务api---------------------");
		for(int a=0;a<10;a++){
			String r7=RamdomUtil.get5RandomNumber();
			System.out.println("5位随机数----"+r7);
		}
		System.out.println("---------业务api--------end-------------");
	}
	
	///////////以下是供业务上使用的api//////////////////////////////////////////////////////////////////
	
	//生成5位随机数字
	public static String get5RandomNumber(){
		String res="";
		String one=RamdomUtil.createRandomDoubleWithoutDotByMath();
		if(one.length()<5){
			one+=RamdomUtil.createRandomDoubleWithoutDotByMath(2);
		}
		res=one.substring(one.length()-5, one.length());
		return res;
	}
}

打印:

0.16326098275998668
77.95240649484046
04574445034710284
197328824864798
------------------------------
1362061365776
136206136577600
---------业务api---------------------
5位随机数----98543
5位随机数----97315
5位随机数----00175
5位随机数----82552
5位随机数----76951
5位随机数----29536
5位随机数----02657
5位随机数----11367
5位随机数----93038
5位随机数----10604
---------业务api--------end-------------







分享到:
评论

相关推荐

    java练习java.lang.Math随机数

    你中过奖么?利用java实现一个35选7的彩票中奖号码产生程序。随机产生7个1至35之间(包括1和35)的不重复整数,并输出...随机数生成方法见JDK API的java.lang.Math类的random函数。(练习循环与break、continue、数组)

    java随机数

    通过阅读Math.random()的源码,或者干脆利用IDE的自动完成功能,开发人员可以很容易发现,java.lang.Math.random()使用一个内部的随机生成对象 - 一个很强大的对象可以灵活的随机产生:布尔值、所有数字类型,甚至是...

    commons-lang3-3.1 API

    RandomStringUtils – 用于生成随机的字符串; SerializationUtils – 用于处理对象序列化,提供比一般Java序列化更高级的处理能力; StringEscapeUtils – 用于正确处理转义字符,产生正确的Java、JavaScript、HTML...

    跑腿源码java-cryptographic-hashing:密码散列

    java.lang.Math 的所有相关策略。 此外,BigInteger 提供了用于隐蔽数学、GCD 计算、素数测试、素数时代、位控制和其他一些随机操作的操作。 导入 java.util.Random; 随机字符串的生成 导入 java.util.concurrent....

    java 课程 实验

    2. 调用java.lang.Math的成员函数“public static double random()”运算下面表达式1000次,(int) (Math.random()*20+0.5),统计其中生成的整数0、1、2、……、20的个数分别是多少,并输出统计结果。 3. 编写一个方法...

    JavaLibrary:Java库

    伪随机数生成--math.XorShiftVariable.java 计时器--util.Counter.java 与数组相关的--util.ArrayUtility.java 与日期相关的--util.DateUtility.java 字符串操作--util.StringUtility.java 类似的搜索--util.SearchE

    基于javascript实现彩票随机数生成(简单版)

    Math.random方法彩票随机数的生成&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;!-- 设置样式 --&gt; &lt;input type="text" id="text"&gt; &lt;button id="btnGo"&gt;开始&lt;/button&gt; &lt;button id=...

    java 面试题 总结

    java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例218 生成随机字符串 275 实例219 序列化与反序列化 276 实例220 分数的常见运算 277 实例221 整数取值范围判断 279 10.2 Commons Math组件简介 280 实例222 描述统计学应用 280 实例223 绘制简单直方图 281 实例...

    超级有影响力霸气的Java面试题大全文档

     java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和 Integer 有什么区别  Java 提供两种不同的类型:引用类型和原始类型(或...

Global site tag (gtag.js) - Google Analytics