Java编程一个随机数产生模块代码分享

java随机数的产生比较简单,可以通过

Random rand = new Random(47);
System.out.println(rand.nextInt()); 

产生,也可以通过以下产生:

double d = Math.random(); 

当然代码中前者由于使用了固定的种子47,所以每次的值都是一样的,也可以使用

Random rand = new Random();
System.out.println(rand.nextInt()); 

而对于代码2则产生的是double的随机数。

下面说下关于3的方式,目前有个需求就是需要产生4为随机数,用于短信注册码的生成,那么就需要使用到随机数,于是使用代码3来实现。若之间使用该代码那么结果并不能满足条件,那么通过以下方式来实现:

//方式一
Random rand = new Random();
for (int i = 0; i < 4; i++){
	System.out.print(Math.abs(rand.nextint() % 10));
}
//以上通过rand.next产生随机数,因可能存在负数,用Math.abs取绝对值,然后取模10,产生的结果在10以内
//方式二
Random rand = new Random();
for (int i = 0; i < 4; i++){
	System.out.print(rand2.nextint(10));
}
//以上使用api直接产生10以内的随机数

自己最近写的一个JAVA随机数模块,封装了各种与随机相关的实用方法,特拿来分享。

这里面没什么高科技的东西,函数命名也能看出来用途,所以就简单的注释一下好了,有什么问题可以留言。

源代码(RandomSet.java):

import java.awt.Color;
import java.util.Collection;
import java.util.Iterator;
import java.util.Random;
public class RandomSet
{
	static Random random = new Random();
	//获得一个给定范围的随机整数
	public static int getRandomNum(int smallistNum,int BiggestNum)
	 {
		return (Math.abs(random.nextint())%(BiggestNum-smallistNum+1))+smallistNum;
	}
	//获得一个随机的布尔值
	public static Boolean getRandomBoolean()
	 {
		return (getRandomNum(0,1) == 1);
	}
	//获得一个随机在0~1的浮点数
	public static float getRandomFloatIn_1()
	 {
		return (float)getRandomNum(0,1000)/1000;
	}
	//获得一个随机的颜色
	public static Color getRandomColor()
	 {
		float R = (float)getRandomNum(0,255)/255;
		float G = (float)getRandomNum(0,255)/255;
		float B = (float)getRandomNum(0,255)/255;
		return new Color(R,G,B);
	}
	//以一定概率返回一个布尔值
	public static Boolean getRate(int rate)
	 {
		if(rate<0 || rate > 100)
		  {
			return false;
		} else
		  {
			if(getRandomNum(0,100)<rate)
			   {
				return true;
			} else
			   {
				return false;
			}
		}
	}
	//返回给定数组中的一个随机元素
	public static <T> T getElement(T[] t)
	 {
		int index = getRandomNum(0,t.length - 1);
		return t[index];
	}
	//返回给定Collection中的一个随机元素
	public static <T> T getElement(Collection<? extends T> c)
	 {
		int atmp = getRandomNum(0,c.size() - 1);
		Iterator<? extends T> iter = c.iterator();
		while(atmp > 0)
		  {
			atmp--;
			iter.next();
		}
		return iter.next();
	}
}

总结

以上就是本文关于Java编程一个随机数产生模块代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

  • java生成随机数的常用方法分析
  • java随机数生产算法实例
  • Java随机数算法原理与实现方法实例详解
  • java生成指定范围随机数的多种代码
  • JAVA 生成随机数并根据后台概率灵活生成的实例代码
  • JAVA 根据设置的概率生成随机数的方法
  • Java编程实现生成给定范围内不重复随机数的方法小结
  • java Timer测试定时调用及固定时间执行代码示例
  • 在Java Web项目中添加定时任务的方法
  • Java Web实现添加定时任务的方法示例
  • 四步轻松搞定java web每天定时执行任务
  • 浅谈java定时器的发展历程
  • Java实现一个简单的定时器代码解析
  • Java定时器Timer使用方法详解
  • Java实现Web应用中的定时任务(实例讲解)
  • 浅析Java随机数与定时器
(0)

相关推荐

  • Java编程实现生成给定范围内不重复随机数的方法小结

    本文实例总结了Java编程实现生成给定范围内不重复随机数的方法.分享给大家供大家参考,具体如下: 在Java中的Math类中存在一个random()方法,该方法默认生成0.0到1.0之间的double型随机数:经过稍微处理,就可以产生我们需要的随机数以及随机字符. 除了Math类中的random()方法之外,java.util.Random类也可以用来生成随机数:下面分别举例(用不同的方法生成双色球号码)说明: 1. Math.random()方法 生成随机数: package test; im

  • java Timer测试定时调用及固定时间执行代码示例

    本文实例主要进行java Timer(定时调用.固定时间执行)测试,具体实现代码如下. 测试1 当任务执行时间小于重复执行的间隔时间 代码: public class TimerTest2 { public static void main(String[] args) throws InterruptedException { Timer timer = new Timer(); timer.schedule(new MyTask(0), 1000, 10000); //timer.sched

  • Java定时器Timer使用方法详解

    一.概念 定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联的.在JDK中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,但封装任务的类却是TimerTask类. 通过继承 TimerTask 类 并实现 run() 方法来自定义要执行的任务: public class Mytask extends TimerTask { @Override public void run() { DateF

  • JAVA 根据设置的概率生成随机数的方法

    本文介绍了JAVA 根据设置的概率生成随机数的方法,分享给大家 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; public class RandomTest { // String 可以为任意类型 也可以自定义类型 static Map<String, Integer> keyChanceMap

  • 浅析Java随机数与定时器

    产生90-100的重复的随机数: public class RandomTest { public static void main(String[] args){ /* * Math.random()方法默认double类型,所以需要强制转换为int */ int x=(int)(Math.random()*(100-90+1)+90); //(max-min+1)+min=min-max System.out.println(x); } } 产生90-100不重复的随机数: import j

  • Java实现一个简单的定时器代码解析

    定时的功能我们在手机上见得比较多,比如定时清理垃圾,闹钟,等等.定时功能在java中主要使用的就是Timer对象,他在内部使用的就是多线程的技术. Time类主要负责完成定时计划任务的功能,就是在指定的时间的开始执行某个任务. Timer类的作用是设置计划任务,而封装任务内容的类是TimerTask类.此类是一个抽象类,继承需要实现一个run方法. 利用java制作定时器比较简单,有现成的接口帮助实现.java中制作定时器使用的是Timer和TimerTask,是util包的.java.util

  • java生成指定范围随机数的多种代码

    生成指定范围内的随机数这个是最常用的技术之一,程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例. 问题往往类似于: 如何随机生成 1~100 之间的随机数,取值包含边界值 1 和 100. 或者是: 如何随机生成随机的3位整数? 等等-- 以 Java 语言为例,我们观察其 Random 对象的 nextInt(int) 方法,发现这个方法将生成 0 ~ 参数之间随机取值的整数.例如(假设先有 Random rand = newRando

  • 在Java Web项目中添加定时任务的方法

    在Java Web程序中加入定时任务,这里介绍两种方式:1.使用监听器注入:2.使用Spring注解@Scheduled注入. 推荐使用第二种形式. 一.使用监听器注入 ①:创建监听器类: import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class TimerDataTaskListener implements ServletContextListener

  • 四步轻松搞定java web每天定时执行任务

    本文介绍了java web每天定时执行任务,分享给大家,具体如下: 第一步: package com.eh.util; import java.util.Calendar; import java.util.Date; import java.util.Timer; /** * java定时任务,每天定时执行任务 * @author wls * */ public class TimerManager { //时间间隔 private static final long PERIOD_DAY =

  • Java随机数算法原理与实现方法实例详解

    本文实例讲述了Java随机数算法.分享给大家供大家参考,具体如下: 软件实现的算法都是伪随机算法,随机种子一般是系统时间 在数论中,线性同余方程是最基本的同余方程,"线性"表示方程的未知数次数是一次,即形如: ax≡b (mod n)的方程.此方程有解当且仅当 b 能够被 a 与 n 的最大公约数整除(记作 gcd(a,n) | b).这时,如果 x0 是方程的一个解,那么所有的解可以表示为: {x0+kn/d|(k∈z)} 其中 d 是a 与 n 的最大公约数.在模 n 的完全剩余系

  • java随机数生产算法实例

    java提供了Math.random()函数,返回一个double类型的随机数,也有util包里的Random类,可以生成double,int,float,long,bytes等随机数. 但有些业务需求,往往需要对这些方法做一下封装.比如用固定因子生成32位的3DES算法key值. 下面提供一些封装的方法: package test; import java.util.Random; public class RandomUtil { public static final String ALL

  • JAVA 生成随机数并根据后台概率灵活生成的实例代码

    最近碰到一个大转盘的业务,奖品可根据数据后台灵活设置中奖概率,看起来挺简单的业务功能,但实现起来对我这个毫无经验的人来说并不容易,后面又碰到一个根据后台概率随机获取不同概率的档位积分,前面是两个实际中业务要用到的话不多说吧,直接上我写概率工具类吧. 1:第一种方法 /** * 根据概率 获取随机积分 * * @param rdm * @return */ //这里的参数是一个存储概率集合当然你也可以用数组 public static Integer randomPoints(ArrayList<

  • Java Web实现添加定时任务的方法示例

    本文实例讲述了Java Web实现添加定时任务的方法.分享给大家供大家参考,具体如下: 定时任务时间控制类 /** * 定时任务时间控制 * * @author liming * */ public class TimerManager { // 时间间隔 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; public TimerManager() { Calendar calendar = Calendar.getInsta

  • 浅谈java定时器的发展历程

    在开发中,我们经常需要一些周期性的操作,例如每隔几分钟就进行某一项操作.这时候我们就要去设置个定时器,Java中最方便.最高效的实现方式是用java.util.Timer工具类,再通过调度java.util.TimerTask任务. Timer是一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.实际上是个线程,定时调度所拥有的TimerTasks. TimerTask是一个抽象类,它的子类由Timer安排为一次执行或重复执行的任务.实际上就是一个拥有run方

  • java生成随机数的常用方法分析

    本文实例讲述了java生成随机数的常用方法.分享给大家供大家参考,具体如下: 前因: 经常性的,测试一些功能时都需要造一些假数据,每次都上网来查一下怎么生成随机数.这回我把查到的方法自己整理一下,下次在用不用到处找了. 生成随机数的几种方法: 1. 使用Math.random()生成随机数 直接贴几个小方法 /** * 获取0.0-1.0之间的随机小数 */ private double test1() { double num = Math.random(); return num; } /*

  • Java实现Web应用中的定时任务(实例讲解)

    定时任务,是指定一个未来的时间范围执行一定任务的功能.在当前WEB应用中,多数应用都具备任务调度功能,针对不同的语音,不同的操作系统, 都有其自己的语法及解决方案,windows操作系统把它叫做任务计划,linux中cron服务都提供了这个功能,在我们开发业务系统中很多时候会涉及到这个功能.本场chat将使用java语言完成日常开发工作中常用定时任务的使用,希望给大家工作及学习带来帮助. 一.定时任务场景 (1)驱动处理工作流程 作为一个新的预支付订单被初始化放置,如果该订单在指定时间内未进行支

随机推荐