如图所示即可。
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.IOExceptionimport 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() // 关闭计时器
}
}