js实现代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
window.onload = function (ev) {
// 调用输出方法
print(1, 36 ,7, 5);
function print(start, end, n, second){
// 已经输出数字总数
var num = 0;
// 生成测试数据
var array = [];
for (var i = start; i <= end; i++) {
array.push(i);
}
// 定义计时器
var timer = setInterval(function () {
// 在控制台打印一个1~36的数字
getNum(array);
// 增加已经输出的数字总数
num++;
// 输出的数字总数一旦输出了七个就可以停止了
if (num == n) {
// 清除定时器
clearInterval(timer);
}
}, second * 1000);
}
// 输出1~36之间的数字,不能重复
function getNum(array) {
// 获得任意一个数组下标
var i = parseInt(Math.random() * array.length);
// 从数组中取出该下标对应的数字
var num = array[i];
// 去除该数字
array.splice(i, 1);
// 获取p标签
var number = document.getElementById("number");
// 获取p标签里面的内容
var text = number.innerText;
// 输出在网页上
number.innerText = text + num + "\n";
}
}
</script>
</head>
<body>
<!--把7个数字放在p标签中输出-->
<p id="number"></p>
</body>
</html>
结果:
java实现代码:
public class Test {
public static void main(String[] args) throws InterruptedException {
print(1, 36, 7, 5);
}
/**
* 打印方法
*
* @param start 开始数字
* @param end 结束数字
* @param n 输出数字长度
* @param second 输出数字的时间间隔
* @throws InterruptedException 睡眠异常
*/
public static void print(int start, int end, int n, int second) throws InterruptedException {
// 存储已经输出过的数字
Set<Integer> set = new HashSet<>();
// 存储最近存储到集合中的数字
int num;
// 只要set集合等于n,说明已经完成输出了
while (set.size() < n) {
// 获取输出值
num = (int) (Math.random() * (end - start + 1)) + start;
if (set.add(num)) {
// 能进来的说明不会重复
TimeUnit.SECONDS.sleep(second);
// 在控制台打印数字
System.out.println(num);
}
}
}
}
结果: