java如何实现随机输出一个字符串,由[a-zA-Z0-9]组成 长度为4,并以数字结尾

Python019

java如何实现随机输出一个字符串,由[a-zA-Z0-9]组成 长度为4,并以数字结尾,第1张

如图所示即可。

package test

import java.util.Random

public class Test{

public static void main(String[] args) {

String str = getRandomString(4)

System.out.println(str)

}

public static String getRandomString(int length) {

// 定义一个字符串(A-Z,a-z,0-9)即62位;

String str = "zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890"

// 由Random生成随机数

Random random = new Random()

StringBuffer sb = new StringBuffer()

// 长度为几就循环几减一次

for (int i = 0i <length - 1++i) {

// 产生0-61的数字

int number = random.nextInt(62)

// 将产生的数字通过length次承载到sb中

sb.append(str.charAt(number))

}

//补全最后一个数字位

sb.append(random.nextInt(9))

// 将承载的字符转换成字符串

return sb.toString()

}

}

可以用 java.util.Timer(计时器) 以及 java.util.TimerTask(计时任务) 来实现,具体代码如下:

import java.io.IOException

import java.util.Random

import java.util.Timer

import java.util.TimerTask

public class Main {

    public static void main(String[] args) throws IOException, InterruptedException {

        // 创建一个计时器

        Timer timer = new Timer()

        // 开启一个计时调度,延迟 0毫秒(也就是立即开始执行),调度评率: 1秒

        timer.schedule(new TimerTask() {

            @Override

            public void run() {

                // 生成随机数逻辑

                Random r = new Random()

                int num = r.nextInt(10) + 1

                System.out.println("随机数为:" + num)

            }

        }, 0L, 1000L)

        // timer.cancel()  // 关闭计时器

    }

}