随机数的掌握是java基础的标识之一,本篇文章将带大家通过一些实例来深入了解java随机数机制。
例1:根据当前时间随机生成数字
/** * @Title: getDateAddFiveRandomCode * @Description: 根据当前时间获取随机数:当前时间+5位随机数 * @return String 返回类型 * @date 2019年5月12日 上午10:32:52 * @throws */ public static String getDateAddFiveRandomCode() { int randomNum = (int)(Math.random() * 90000) + 10000; String date = new SimpleDateFormat("yyyyMMddHHmmss") .format(Calendar.getInstance() .getTime()); return date + randomNum; } /** * @Title: getDateAddThreeRandomCode * @Description: 根据当前时间获取随机数:当前时间+3位随机数 * @return String 返回类型 * @date 2019年5月12日 上午10:33:14 * @throws */ public static String getDateAddThreeRandomCode() { int randomNum = (int)(Math.random() * 900) + 100; String date = new SimpleDateFormat("yyyyMMddHHmmss") .format(Calendar.getInstance() .getTime()); return date + randomNum; }
例2:自定义随机数
import java.util.Random; /** * * @author mengzw * @since 3.0 2018-7-11 */ public class RandomTest { /** * 生成随机字符串 * * @param length * 要生成字符串的长度 * @param stringType * 字符源的类型。0:字母+数字(已把数字中的易混淆字符去除), 1:纯字母, 2:纯数字。默认为字母+数字 * @param caseType * 大小写的类型。0:大小写混合, 1:纯大字, 2:纯小写。默认为纯大写 * @param specialString * 特殊字符 如果需要生成的字符串中包含特殊字符,可把需要添加的特殊字符传进来。该参数为null或""都没关系 * @return */ public static String getRandomString(int length, int stringType, int caseType, String specialString) { String type0 = "abcdefghijkmnopqrstuvwxyz23456789"; String type1 = "abcdefghijkmnopqrstuvwxyz"; String type2 = "0123456789"; String characterStore = ""; switch (stringType) { case 0: characterStore = type0; break; case 1: characterStore = type1; break; case 2: characterStore = type2; break; default: characterStore = type0; break; } characterStore += specialString; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(characterStore.length()); char c = characterStore.charAt(number); switch (caseType) { case 0: c = random.nextBoolean() ? Character.toUpperCase(c) : Character.toLowerCase(c); break; case 1: c = Character.toUpperCase(c); break; case 2: c = Character.toLowerCase(c); break; default: c = Character.toUpperCase(c); break; } sb.append(c); } return sb.toString(); } public static void main(String[] args) { System.out.println(getRandomString(5, 0, 0, "")); } }
以上就是本篇文章的所有内容,能够熟练运用随机数就代表你的java基础学习已经有一点起色了,更多java常见问题敬请关注奇Q工具网了解详情。
推荐阅读: