第一次提问,请各位大侠多多指教,因为不好表述,所以网络上也不太好搜索。众所周知 System.out.println("Hello java!"); 结果实在控制台上输出Hello java!我的问题是,如何能够实现同样输出Hello java!,但是要求逐个字符输出,而不是一下子全部显示出来。对输出Hello,java来说,就是先输出H,然后e,然后l,...直至最后输出!,换句话说就是控制台输出过程模拟代码输入过程,该如何实现这种方法呢?
调试欢乐多
char[] a = str.toCharArray();
for(char c:a)
System.out.print(c);
public static void main(String[] args) {
String str = "hello java!";
char[] a = str.toCharArray();
for(char c :a) {
System.out.print(c);
try {
Thread.sleep(500);//睡半秒 时间自己定义 单位毫秒
}catch(InterruptedException e){
return;
}
}
}
}
其实可以想象。。cpu只会一行一行的运行(汇编)代码..停止是无法掌握的..
我记得做汇编的时候写过类似的代码...
先根据cpu频率计算1次循环的运行时间
然后再用等待时间去除以这个时间来得到
最后像
2楼说那样的循环次数。。再进行循环
那是2楼的做法,不是sleep的做法吧。
我想sleep是不是用了中断呢。
String s ="Hello java!";
String sr=substring(1);
System.out.println(sr);
for(int i=0,t=2;i<s.length()-1,t<s.length()+1;i++,t++){
sr=substring(i,t);
System.out.println(sr);
}
我没运行 不知道行不行,我也是个出学者,没Eclips,就这么想的,我想这种想法是最简单的了!!
恩 我确实说的是单片机的东西。
但是这是个基本方法 也是系统时间运行的方法.
当然中断也可以...(多单片机都提供 Timer 或则 watch dog的硬件配置来进行时间的监控然后发出中断.不知道pc机器有没得类似的东西)
不过sleep完全可以调用系统时间来进行对比就是了(这也是在视窗平台的多任务基础上)