packagecom.yin.test;importjava.util.Random;importorg.junit.Test;/***@authorv_yinyl

* @date 2018-11-22 下午4:10:46

*@version18.2B

* 产生随机六位数的五种方法*/

public classTestMath

{/**1. 用math.random()实现,比较麻烦的一种方式,思路是:math.random()生成的是[0.0, 1.0)的伪随机数,

如果 当前值是0.9...,则直接*1000000返回,其他情况可能生成0.8...,0.03...,0.0003...,

这些情况都*1000000,但是结果可能是6位,5位,4位都有可能,那么再加上100000,肯定就保证是6位了。*/

public voidrandom1(){int intFlag = (int)(Math.random() * 1000000);

String flag=String.valueOf(intFlag);if (flag.length() == 6 && flag.substring(0, 1).equals("9"))

{

System.out.println(intFlag);

}else{

intFlag= intFlag + 100000;

System.out.println(intFlag);

}

}/**2. 面试可以用到的一种方式,一行代码实现,思路是:math.random()范围是[0.0, 1.0),

那么math.random()*9+1一定是小于10的,(Math.random()*9+1)*100000一定是<10*100000=1000000的一个数*/

public voidrandom2(){

System.out.println((int)((Math.random()*9+1)*100000));

}/**3. random.nextInt(10)意思是返回大于等于0,小于10的一个正整数, 既然是生成6位随机数,每个数一定是0-9之内的,我循环6次,

每次从0-9随机选取一个数字拼接字符串返回,不就行了*/

public voidrandom3(){

Random random= newRandom();

String result="";for (int i=0;i<6;i++)

{

result+=random.nextInt(10);

}

System.out.println(result);

}/**4. random.nextInt(10)知道是什么意思了,最大的6位数是999999,最小的六位数是100000,我想到了下面的方法:*/@Testpublic voidrandom4(){for (int i = 0; i <= 100; i++)

{int flag = new Random().nextInt(999999);if (flag < 100000)

{

flag+= 100000;

}

System.out.println(flag);

}

}/**5. 最后的一种方法,是引入了一个source字符串,从这个字符串里可以随机生成一个子串返回,很多pc网站用这个方法生成带字母数字的验证码,原理类似3*/

public voidrandom5(){

String source= "0123456789";

Random random= newRandom();

StringBuffer flag= newStringBuffer();for(int j=0;j<6;j++){

flag.append(source.charAt(random.nextInt(10)));

}

System.out.println(flag.toString());

}

}

java随机生成六位数_java实现随机产生6位数的方法总结相关推荐

  1. java随机生成一个号码_Java 随机生成任意组电话号码过程解析

    需求说明 要求根据用户输入,生成相应组数的电话号码 实现思路 1.通过百度,获取对应真实世界中电话号码的头三位数 2.采用Math.random()方法,生成电话号码的后八位数 代码内容 随机生成任意 ...

  2. java 随机生成英文名_java随机数Reandom(简单介绍)

    简单介绍 Java中存在着两种Random函数 一.java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0, ...

  3. java 随机生成简体汉字_Java代码实现随机生成汉字的方法|chu

    一.背景知识 GB 2312-80 是中国国家标准简体中文字符集,全称<信息交换用汉字编码字符集・基本集>,由中国国家标准总局发布,1981年5月1日实施.GB2312 编码通行于中国大陆 ...

  4. 如何在Java中生成特定范围内的随机整数?

    如何生成特定范围内的随机int数值? 我已经尝试了以下方法,但是这些方法不起作用: 尝试1: randomNum = minimum + (int)(Math.random() * maximum); ...

  5. php随机生成三位数,php随机生成数字加字母 PHP随机生成数字+调用,

    for ($i = 1; $i PHP生成10位左右,数字.字母混合的字符串且唯一 需要生成一个唯一的字符串要CSS布局HTML小编今天和大家分享大写字母和数字混合,10位为佳,并且不能重复 给你说个 ...

  6. java中随机生成26个字母组合的随机验证码

    实现原理,通过随机生成1-52的随机数,然后从定义好的字母数字中取元素进行组合. 下面是代码: public static void login(){String [] yan ={"a&q ...

  7. mysql随机生成数据并插入_mysql随机数据生成并插入

    dblp数据库中引用信息很少,平均一篇论文引用0.2篇.使用dblp做实验数据集的某篇论文提到,可以随机添加引用信息.受此启发,我打算为每一篇论文都添加20篇随机引用,于是就写出了如下的sql语句: ...

  8. python随机生成一个日期_Python中随机生成未来一个月内的一个随机的日期时间

    该函数可以产生从当前日期时间开始到未来一个月内的一个固定时间 import random import timeit import time import datetime #该函数随机生成未来一个月 ...

  9. 随机生成一组不重复的随机数组

    public string RadomNumArray(){Random r = new Random();int a = 0;int[] num = new int[6];string text = ...

最新文章

  1. 从 TensorFlow 入门机器学习
  2. map函数的用法python,详解Python map函数及Python map()函数的用法
  3. bootstrap-table初始化配置
  4. 为什么勒索软件的预防如此重要?
  5. 计算机报名照片在线修图,详细!2020国家公务员考试报名确认专题照片处理工具使用教程...
  6. uni-app自定义配置安卓模拟器 - MuMu模拟器
  7. 中国云计算产业2016年度点评
  8. PCL之kd-tree详解
  9. 用两个栈实现最小栈的功能
  10. Abbkine IPKine GFP标签蛋白免疫沉淀试剂盒(磁珠法)
  11. human3.6数据集
  12. Caffe Layer 系列(一):Input层、Data层
  13. 【预测模型】基于BP神经网络、LSTM、GRNN实现风电功率预测附matlab代码
  14. uniApp确认提示框
  15. 花了几万写了一份几十页的商业计划书投资人会看吗?
  16. 2018年第九届蓝桥杯【C++省赛B组】【第三题:乘积尾零】——附解题代码
  17. 华为 荣耀 6x android哪个版本,荣耀畅玩6X有几个版本 荣耀畅玩6X各版本区别对比...
  18. Jni 内存泄露(Failed adding to JNI pinned array ref table (1024 entries))
  19. 沧田 DT812K 打印机驱动
  20. 新一代硬件安全-自序

热门文章

  1. 支付宝打造新支付架构:对外开放 平台化发展
  2. MAC泛洪攻击及解决方法
  3. Java 操作Excel POI
  4. 关于自建网站那些事情
  5. 手把手教你配置Redis主从复制(含详细图文)
  6. 如何避免NOPI 从Execl里面单元格取日期时出现日期反转
  7. 初一数学用计算机做题上册,初一数学补习有哪些
  8. 每周一磁 · 剩磁 Br
  9. 选购蓝牙耳机不想踩雷看这里!2021五款高性能蓝牙耳机推荐
  10. excel剔除空格_如何快速去掉EXCEL中的大量空格?—文字讲解与视频操作版