/** * 产生随机的六位数 * @return */ public static String getThree(){ Random rad=new Random(); return rad.nextInt(1000000)+""; }
-----------------------------------华丽的分隔符---------------------------------------------------------------------------------------------
---以上代码有bug,谢谢http://blog.csdn.net/cslience的指点--
之前的做法是写一个循环每次产生0~9之间的一个整数,循环6次得到一个6位数的校验码
今天算是涨姿势了~~~
上述方法补0的原则是:随机生成几位数就有几个0~~~
-----------------------------------正确的操作方式---------------------------------------------------------------------------------------------
判断当长度不为6的时候,加一个递归,换个姿势再来一次:
/** * 产生随机的六位数 * @return */ public static String getSix(){ Random rad=new Random(); String result = rad.nextInt(1000000) +""; if(result.length()!=6){ return getSix(); } return result; }测试:循环1000次,都是6位了!!
for (int j = 0; j < 1000; j++) { System.out.println(getSix()); }