`

随机产生任意位数的数字编号代码

阅读更多

随机生成任意位数的编号,适用于各种商品编号。

不知道有没有更简单的算法来生成?

 

public static String doGenRamdomNum(int digits){
	   java.util.Random r=new java.util.Random();		
           int random = Math.abs(r.nextInt())% (int)(Math.pow(10, digits));
	   String result =null ;
	   int length = (random+"").length();		
	   result = random*((int)Math.pow(10, digits-length))+"";
	
          return result;
	}
分享到:
评论
5 楼 Garfield.Geng 2010-10-11  
使用apache common lang 的 RandomStringUtils.randomNumeric(8)
4 楼 flyliying 2010-03-01  
可以重复?
3 楼 gaoqs1984 2010-02-22  
<p> </p>
<pre name="code" class="java">      int lenght=10;
   
    Random random = new Random(new Date().getTime());
    byte[] bi=new byte[lenght];
    random.nextBytes(bi);
    for (byte b : bi) {
///用math.asb把byte的负号去掉,可以直接累加到需要的长度
    char c=(b+"").charAt((""+b).length()-1);
    System.out.print(c);
  }
</pre>
2 楼 powerclark 2010-02-21  
evaspring 写道
为何不直接用 UUID ?

UUID感觉比较长,希望生产的编号全是数字形式的字符串。
1 楼 evaspring 2010-02-21  
为何不直接用 UUID ?

相关推荐

    net学习笔记及其他代码应用

    答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。 24.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。 答:string str = null 是不给他分配...

    delphi 开发经验技巧宝典源码

    0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用Uppercase函数将小写字母转换为大写字母 64 0091 使用...

    delphi 开发经验技巧宝典源码06

    0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用Uppercase函数将小写字母转换为大写字母 64 0091 使用...

    C#编程经验技巧宝典

    100 &lt;br&gt;0158 如何将二进制数转换为十六进制数 100 &lt;br&gt;0159 如何实现0~9之间随机整数 101 &lt;br&gt;0160 如何实现0~1之间随机数 101 &lt;br&gt;0161 如何返回数字的绝对值 101 &lt;br&gt;5.2 控件数据处理...

Global site tag (gtag.js) - Google Analytics