java实现随机数生成器

本文实例为大家分享了java实现随机数生成器的具体代码,供大家参考,具体内容如下

自己编的随机数生成器,比较简陋,功能也单一,当作练手。

Application.java

package src;

public class Application {
 public static void main(String[] args) {
 WindowBoxLayout win=new WindowBoxLayout();
 win.setBounds(100,200,300,350);
 win.setTitle("随机数生成器");
 win.setVisible(true);
 }
}

RandomListener.java

package src;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.*;

public class RandomListener implements ActionListener{
 JTextField text1;
 JTextArea text2;
 Random random=new Random();
 int result=0;
 public void setJTextField(JTextField t){
 text1=t;
 }
 public void setJTextArea(JTextArea t){
 text2=t;
 }
 @Override
 public void actionPerformed(ActionEvent e) {
 try{
 text2.setText("");
 Integer number=Integer.parseInt(text1.getText());
 result=random.nextInt(number)+1;
 text2.append(result+"");
 }
 catch(Exception exp){
 text2.append("请输入数字字符");

 }
 }
}

Windowboxlayout.java

package src;

import javax.swing.*;
public class WindowBoxLayout extends JFrame{
 /**
 *
 */
 private static final long serialVersionUID = 1L;
 Box baseBox;
 JTextField text1;
 JTextArea text2;
 JButton button;
 RandomListener random;
 public WindowBoxLayout(){
 setLayout(new java.awt.FlowLayout());
 init();
 setVisible(true);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 void init(){
 baseBox=Box.createVerticalBox();
 baseBox.add(new JLabel("请输入随机数的最大范围值:"));
 baseBox.add(Box.createVerticalStrut(8));
 text1=new JTextField(5);
 baseBox.add(text1);
 baseBox.add(Box.createVerticalStrut(8));
 button=new JButton("确定");
 baseBox.add(Box.createVerticalStrut(8));
 baseBox.add(button);
 text2=new JTextArea(6,12);
 baseBox.add(Box.createVerticalStrut(18));
 baseBox.add(text2);
 add(baseBox);
 random=new RandomListener();
 random.setJTextField(text1);
 random.setJTextArea(text2);
 button.addActionListener(random);
 }

}

类结构图:

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java生成指定范围的随机日期

    有这样一个需求:构造一个方法,随机生成1990-12-31 00:00 00到 2013-12-31 00:00:00之间任意一个时间点. 思路是这样:在javaAPI中 Date类型和long类型很好转化,所以我们可以把问题转化为,求两个long类型数之间的任意值. 同时需要了解java API中的:Math.round(double)  Math.random();  new Date(year,month,day); Calendar. Math.random() 会随机生成大于等于0小于

  • java图的深度优先遍历实现随机生成迷宫

    最近经常在机房看同学在玩一个走迷宫的游戏,比较有趣,自己也用java写一个实现随机生成迷宫的算法,其实就是一个图的深度优先遍历算法.基本思想就是,迷宫中的每个点都有四面墙,然后呢. 1.从任意一点开始访问(我的算法中固定是从(0,0)点开始),往四个方向中的随机一个访问(每访问到一个可访问的点,就去掉该点的那个方向的墙),被访问点继续以这种方识向下进行访问. 2.对每个被访问的点都被标识为已访问,当一个点对某个方向进行访问时我们首先会判断被访问点是否已被访问,或者触到边界.如果该点四个方向皆已访

  • Java随机生成身份证完整示例代码

    身份证算法实现 1.号码的结构 公民身份号码是特征组合码, 由十七位数字本体码和一位校验码组成. 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码  三位数字顺序码和一位数字校验码. 2.地址码(前六位数) 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 3.出生日期码(第七位至十四位) 表示编码对象出生的年.月.日,按GB/T7408的规定执行,年.月.日代码之间不用分隔符. 4.顺序码(第十五位至十七位) 表示在同一地址码所标识的区域范围内,

  • java生成随机字符串的两种方法

    本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下 import java.util.Random; public class CharacterUtils { //方法1:length为产生的位数 public static String getRandomString(int length){ //定义一个字符串(A-Z,a-z,0-9)即62位: String str="zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZ

  • java随机生成时间字符串的方法

    本文实例为大家分享了java随机生成时间字符串的具体代码,供大家参考,具体内容如下 package com.wechat.utils; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by hexun on 2017/2/4. */ public class RandTimeUtils { /** * 生成随机时间 * @param beginDate * @param endDate * @retu

  • Java生成随机时间的简单随机算法

    根据起始时间生成随机事件,代码如下: public static Date randomDate(Date beginDate,Date endDate ){ if(beginDate.getTime() >= endDate.getTime()){ return new Date(); } long date = random(beginDate.getTime(),endDate.getTime()); return new Date(date); } public static long

  • Java实现获取指定个数的不同随机数

    两个简单的例子,代码实现如下: 1.随机拆分一个整数 public static List<Integer> randomList(int n){ Random rand = new Random(); List<Integer> list = new ArrayList<>(); int i = 0; while (i < n) { int num = rand.nextInt(n); if (!list.contains(num)) { list.add(nu

  • 浅析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随机数的产生比较简单,可以通过 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的随机数.

  • java实现随机数生成器

    本文实例为大家分享了java实现随机数生成器的具体代码,供大家参考,具体内容如下 自己编的随机数生成器,比较简陋,功能也单一,当作练手. Application.java package src; public class Application { public static void main(String[] args) { WindowBoxLayout win=new WindowBoxLayout(); win.setBounds(100,200,300,350); win.setT

  • Java 17 随机数生成器来了一波稳稳的增强

    目录 Java 17 更新更快的 LTS 节奏 Java 17 更新后的 strictfp 关键字 这一条更新来自: JEP 356: Enhanced Pseudo-Random Number Generators ,相比之下,这一条实用多了. 我们都用过随机数,不过一般情况下我们很少去认真的对待随机数的具体结果,就好像它是真的随机一样. var random = new Random(System.currentTimeMillis()); for (int i = 0; i < 10; i

  • java高并发情况下高效的随机数生成器

    前言 在代码中生成随机数,是一个非常常用的功能,并且JDK已经提供了一个现成的Random类来实现它,并且Random类是线程安全的. 下面是Random.next()生成一个随机整数的实现: protected int next(int bits) { long oldseed, nextseed; AtomicLong seed = this.seed; do { oldseed = seed.get(); nextseed = (oldseed * multiplier + addend)

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

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

  • Java获取随机数的3种方法

    主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 for (int i=0;i<30;i++) {System.out.println((int)(1+Math.random()*10));} (int)(1+Math.random()*10) 通过java.Math包的ra

  • java生成随机数(字符串)示例分享

    用来生成简单的随机java生成随机数,大小+数字.没特符 复制代码 代码如下: package passwords;import java.util.Random;public class pwdGen { private Random rdseed=new Random(); /**  *@param  *length  password length;  *@param  *letters  boolean non-capital letters combination control; 

  • Java中随机数的产生方式与原理详解

    Java中随机数的产生方式与原理 查阅随机数相关资料,特做整理 首先说一下java中产生随机数的几种方式 在j2se中我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以100,他就是个100以内的随机数字,这个在j2me中没有. 在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以生产随机整数.随机float.随机double.随机long,这个也是我们在j2me

  • JavaScript实现随机数生成器(去重)

    本文实例为大家分享了js实现随机数生成器的具体代码,供大家参考,具体内容如下 1.实验前准备: Math函数的理解 数组方法的理解 2.实验操作: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>随机数生成</title> </head> <style type="text/c

  • JAVA使用随机数实现概率抽奖

    本文实例为大家分享了JAVA使用随机数实现概率抽奖的具体代码,供大家参考,具体内容如下 需求 网站现有一抽奖功能,已经定义好奖品,每个奖品都有对应的中奖概率.通过奖品概率随机进行抽奖 实现思路 1.每个奖品都有对应的中奖概率,先对所有奖品中奖概率求和 2.计算出每个奖品在0-1之间所占的区间块 3.随机产生0-1之间的随机数,随机数落在哪个区间,就是中奖哪个 例如现有以下奖品: 奖品A 中奖概率为 0.1 奖品B 中奖概率为 0.01 奖品C 中奖概率为 0.001 奖品D 中奖概率为 0.8

  • Java创建随机数的四种方式总结

    目录 c语言随机数 java 1.Random 2.SecureRandom 3.ThreadLocalRandom 4.Math.Random 完整代码 第一次接触到随机数还是在c语言里面 使用的是 rand(); 但是重新执行一次的时候会发现,诶,居然和上一次执行的结果是一样的,因为没有初始化种子,所以系统用的都是统一的种子这时就会出现每次产生的随机数都一样,这时就会使用到 srand();这个随机数的发生器, 把种子给定当前的时间 即 srand((unsigned) time (&t))

随机推荐