java for循环中的sleep

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java for循环中的sleep相关的知识,希望对你有一定的参考价值。

for(int i = 0; i < 10; i++)
out.print("a");
sleep(1000);


我要的结果是 一秒钟输出一个a
可是这个代码输出的结果是10秒钟后一次性输出10个a
求解(用什么办法实现都可以 技术有限 弄点我看的懂的 我记得加点东西就可以了 但是就想不起来了)
不好意思哈 忘了说了 是jsp的
我想让它在网页上 每秒钟输出一个字母
是jsp的小脚本内的代码 <%代码%>

script 我肯定试验过了 请你们先理解双线程再回答

参考技术A sleep(int ms); //这个ms是毫秒,1000没有错。
以下代码是每秒打出一个a.
for(int i = 0; i < 10; i++)
System.out.print("a");
try
Thread.sleep(1000);
catch (InterruptedException e)
// TODO Auto-generated catch block
e.printStackTrace();

参考技术B jsp会在页面显示出来之前先执行完的,所以用jsp内嵌java代码是肯定实现不了你想要的功能的,可以改用javascript,这个才是客户端动态代码。
<html>
<head>
<script type="text/javascript">
function printa()
var i=0;
for( i = 0; i < 10; i++)
document.write("Hello World!");
sleep(1000);


function sleep(numberMillis)

</script>
</head>
<body onload="printa()">
</body>
</html>
关于sleep方法的实现,建议你自己到网上找一下,方法很多,对应不同环境。
如果你只是单纯的想学jsp的话,上面代码可以不用深刻研究,无视就好,同时补习一下jsp的执行原理,你就能明白为什么内嵌java实现不了你要的功能了
参考技术C 循环次数! 参考技术D 二楼说的对 请楼主先理解js和jsp的区别

在javascript for循环sleep

直接上代码吧



var interval = 1 * 1000; // 10 seconds;

for(let i= 0 ;i<1000;i++)
    setTimeout( function (i) 
        console.info(new Date().pattern("yyyy-MM-dd hh:mm:ss"))

    , interval * i, i);


Date.prototype.pattern=function(fmt) 
    var o = 
        "M+" : this.getMonth()+1, //月份
        "d+" : this.getDate(), //日
        "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
        "H+" : this.getHours(), //小时
        "m+" : this.getMinutes(), //分
        "s+" : this.getSeconds(), //秒
        "q+" : Math.floor((this.getMonth()+3)/3), //季度
        "S" : this.getMilliseconds() //毫秒
    ;
    var week = 
        "0" : "/u65e5",
        "1" : "/u4e00",
        "2" : "/u4e8c",
        "3" : "/u4e09",
        "4" : "/u56db",
        "5" : "/u4e94",
        "6" : "/u516d"
    ;
    if(/(y+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    
    if(/(E+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);
    
    for(var k in o)
        if(new RegExp("("+ k +")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
        
    
    return fmt;


以上是关于java for循环中的sleep的主要内容,如果未能解决你的问题,请参考以下文章

java中的for循环

java for循环中的sleep

JAVA中的for循环

在java中,新循环,也就是增强for循环怎么用?是啥格式?

Java中的for循环(急急急!!!)

Java中的for循环(急急急!!!)