java如何随机生成定长的字符串

小数,字符串、时间等示例代码

public class RandomTest {

    public static Random rand = new Random();
    public static String dateStart = "2017-01-01 00:00:00";
    /**
     * hh 表示12小时制
     * HH 表示24小时制
     */
    public static SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
    public static SimpleDateFormat format1 = new SimpleDateFormat("YYYYMMDDHHmmss");

    public static void main(String[] args) throws ParseException {
        System.out.println(getDouble());

        long timeStart = 1483200000000l;
        System.out.println(format.parse(dateStart).getTime());

        System.out.println(format.format(new Date(timeStart)));
        System.out.println(format.format(new Date(timeStart+1000)));
        System.out.println(format.format(new Date(timeStart+2000)));

        format.format(new Date());

        System.out.println(getRandomString(2));

    }
    /**
     * 随机生成指定精确度的小数
     * @return
     */
    public static double getDouble(){
        DecimalFormat df=new DecimalFormat("#.000000");
        int a=(int)(Math.random()*2+1);
        int aa=(int)(Math.pow(-1, a));

        return Double.valueOf(df.format(rand.nextDouble()*100*aa));
    }
    /**
     * 生成固长字符串
     * @param length
     * @return
     */
    public static String getRandomString(int length) { //length表示生成字符串的长度
        String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(base.length());
            sb.append(base.charAt(number));
        }
        return sb.toString();
     }
    /**
     * 生成固长字符串
     * @param length
     * @return
     */
    public static String getRandomStringNum(int length) { //length表示生成字符串的长度
        String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(base.length());
            sb.append(base.charAt(number));
        }
        return sb.toString();
    }
}

--------------------- 本文来自 AngelaPotato 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/wangxilong1991/article/details/72636482?utm_source=copy

原文地址:https://www.cnblogs.com/YuyuanNo1/p/9705810.html

时间: 2024-08-03 19:07:42

java如何随机生成定长的字符串的相关文章

生成定长随机数-可做3des密钥

3DES加解密需要密钥支持,要求为8的倍数,一般会使用32位的字母数字随机字符串作为密钥. 下面这个工具类,可用做key值的生成,详见下方代码: package test; import java.util.Random; public class ThreeDes_key { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; pu

java中随机生成字符串的方法(三种)

1.生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random; //length用户要求产生字符串的长度 public static String getRandomString(int length){ String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random=new Random(); StringB

Horspool算法(java)随机生成字符串

java代码 import java.util.Scanner; public class Horspool { public static void ShiftTable(char[] p, int[] table){ for (int i = 0; i < 26; i++) { table[i] = p.length; } for (int i = 0; i < p.length - 1; i++) { table[p[i] -'A'] = p.length - 1 - i; } } pu

python内置的一个好玩的函数-zip,并且巧妙的实现按概率随机生成有限个数的字符串。

python有一个比较有意思的内置函数-----zip,可以把传入的两组list进行一个组合变形,再输出子元素为tuple的list,不过变形的方式比较抽象. 举个例子: A=[1,2,3,4,5,6] B=['a','b','c','d'] v1=zip(A,B) v1的结果为: [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')] 比较直观的理解就是,A和B是两道拉链上的扣子,生成的list的子tuple,每一组tuple就是一对扣好了的扣子,并且从每组list的

java Random随机生成一个数

package java05; import java.util.Random; /* Random随机生成一个数字 1.导包: import java.util.Random; 2.创建 Random r = new Random(); 3.使用 int num = r.nextInt()不带参数是随机生成一个数字在int所有范围内 int num = r.nextInt(n); 带参数代表范围,左闭右开 * */ public class DemoRandomnum { public sta

java中随机生成汉字

main方法中使用: //随机生成100个汉字 String ss=""; for(int i=0;i<100;i++){ ss+=getChinese(i); } System.out.println(ss); 结果如图: //随机生成汉字//seed指定Random(long seed)中的种子数public static String getChinese(long seed) throws UnsupportedEncodingException{ String str=

在java中随机生成一个无序且长度不大于10的字符串

package xiangmu; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class TestCollection { /* * 通过定义Collections.sort()方法对String泛型进行List排序 * 创建一个String泛型List,插入一个不超过10的随机字符串 */ /** * @param

4.java随机生成指定长度的字符串

//生成随机数字和字母, public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //参数length,表示生成几位随机数 for(int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num

Java 批量随机生成身份证号码

package org.service.task.fees; import java.util.Calendar; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * * 身份证算法实现 * * 1.号码的结构 公民身份号码是特征组合码, 由十七位数字本体码和一位校验码组成. 排列顺序从左至右依次为:六位数字地址码,八位数字出生日