Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29956730
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2010-05-01 08:37:24

Java随机数模块

[整理时间:2010-5-1

1.使用Math里面的random函数实现随机生成一个数字(01之间的一个浮点数)

public class Random {

    public static void main(String[] args) {

        System.out.println(String.valueOf(Math.random()*10));

    }

}

2.使用java.util.Random工具类来处理

public class Random {

    public static void main(String[] args) {

        java.util.Random r = new java.util.Random();

        for (int i = 0; i < 10; i++) {

            System.out.println(r.nextInt());

        }

    }

}

随机生成一个。这种是不带种子!

带种子与不带种子的区别:

带种子的话每次生成的随机数是相同的。即第一次运行结果与第二次是一样的结果了。

3. 使用System.currentTimeMillis()来获取一个当前时间的毫秒数字

public class Random {

    public static void main(String[] args) {

        long num = System.currentTimeMillis();//当前的毫秒数

        System.out.println(num);

    }

}

4、生成一个随机数的工具类(另见JAVA常用代码)

package cn.module;

public class Random {

    public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    public static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    public static final String numberChar = "0123456789";

   

    /**

     * 返回一个定长的随机字符串(只包含大小写字母、数字)

     * @param    length  随机字符串长度

     * @return  随机字符串

     * */

    public static String generateString(int length) {

    StringBuffer sb = new StringBuffer();

    java.util.Random r = new java.util.Random();

    for (int i = 0; i < length; i++) {

            sb.append(allChar.charAt(r.nextInt(allChar.length())));

        }

    return sb.toString();

    }

   

    /**

     * 返回一个定长的随机纯字母字符串(只包含大小写字母)

     * @param length 随机字符串长度

     * @return 随机字符串

     */

    public static String generateMixString(int length) {

    StringBuffer sb = new StringBuffer();

    java.util.Random r = new java.util.Random();

    for (int i = 0; i < length; i++) {

            sb.append(letterChar.charAt(r.nextInt(letterChar.length())));

        }

    return sb.toString();

    }

    /**

     * 返回一个定长的随机纯大写字母字符串(只包含大小写字母)

     * @param length 随机字符串长度

     * @return 随机字符串

     */

    public static String generateLowerString(int length) {

    return generateMixString(length).toLowerCase();

    }

   

    private static String generateZeroString(int length) {

        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < length; i++) {

                sb.append('0');

        }

        return sb.toString();

    }

   

    /**

     * 根据数字生成一个定长的字符串,长度不够前面补0

     *

     * @param num             数字

     * @param fixdlenth 字符串长度

     * @return 定长的字符串

     */

    public static String toFixdLengthString(long num, int fixdlenth) {

        StringBuffer sb = new StringBuffer();

        String strNum = String.valueOf(num);

        if (fixdlenth - strNum.length() >= 0) {

                sb.append(generateZeroString(fixdlenth - strNum.length()));

        } else {

                throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!");

        }

        sb.append(strNum);

        return sb.toString();

}

    public static void main(String[] args) {

        System.out.println(generateString(5));

    }

}

 

阅读(983) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~