📄 0162.htm
字号:
<html>
<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>一个计时类</strong></big></p>
<div align="right">--- (文/SonyMusic)</div>
<br>package sony.utils;<br>
<br>
import java.util.*;<br>
import javax.servlet.jsp.*;<br>
/**<br>
* 一个计时类。<br>
* 创建日期:(2000-11-6 13:09:38)<br>
* 作者:SonyMusic(sonymusic@china.com)<br>
*/<br>
public class Timing{<br>
private ArrayList nameArray=new ArrayList();<br>
private ArrayList timeArray=new ArrayList();<br>
private javax.servlet.jsp.JspWriter out;<br>
private boolean inJsp=false;<br>
/**<br>
* 这个构造器是在JAVA中用的。<br>
*/<br>
public Timing() {<br>
super();<br>
this.inJsp=false;<br>
}<br>
/**<br>
* Timing 构造,这个构造 器是在JSP中用的。<br>
*/<br>
public Timing(javax.servlet.jsp.PageContext pageContext) {<br>
super();<br>
this.out=pageContext.getOut();<br>
this.inJsp=true;<br>
}<br>
/**<br>
* 此处插入方法说明。<br>
* 创建日期:(2000-11-6 13:40:36)<br>
* @param name java.lang.String<br>
*/<br>
public void add(String name) {<br>
if(name==null // name.length()==0) name="Default";<br>
//if(name.length()>7) name=name.substring(0,7);<br>
nameArray.add(name);<br>
timeArray.add(Calendar.getInstance());<br>
}<br>
/**<br>
* 这里是在JAVA中用法。<br>
* 创建日期:(2000-11-6 14:39:43)<br>
* @param args java.lang.String[]<br>
*/<br>
public static void main(String[] args) {<br>
Timing time=new Timing();<br>
time.add("Start");<br>
Random ran=new Random();<br>
int i=0,j=0;<br>
for(i=0;i<10000000;i++)<br>
j+=ran.nextInt();<br>
time.add("After 100");<br>
for(i=0;i<100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After 100000");<br>
for(i=0;i<100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After 100000");<br>
time.show();<br>
}<br>
/**<br>
* 此处插入方法说明。<br>
* 创建日期:(2000-11-6 13:43:24)<br>
*/<br>
public void show() {<br>
if(inJsp)<br>
showInJsp();<br>
else<br>
showInJava();<br>
<br>
}<br>
/**<br>
* 此处插入方法说明。<br>
* 创建日期:(2000-11-6 13:46:06)<br>
*/<br>
private void showInJava() {<br>
if(nameArray.isEmpty()){<br>
System.out.println("尚未增加计时点!");<br>
return;<br>
}<br>
Calendar oldCal=null,cal=null,firstCal;<br>
//=Calendar.getInstance()<br>
String name;<br>
firstCal=(Calendar)timeArray.get(0);<br>
System.out.println("序号\t\t名称\t\t\t\t时间\t\t\t\t耗时(秒)");<br>
for(int i=0;i<nameArray.size();i++){<br>
name=(String)nameArray.get(i);<br>
cal=(Calendar)timeArray.get(i);<br>
System.out.print(i+1);<br>
System.out.print("\t\t\t");<br>
System.out.print(name+"\t\t\t\t");<br>
System.out.print(cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND)+"."+cal.get(Calendar.MILLISECOND));<br>
System.out.print("\t\t\t\t");<br>
if(oldCal==null){<br>
System.out.println("无");<br>
}<br>
else{<br>
long diffTime=cal.getTime().getTime()-oldCal.getTime().getTime();<br>
System.out.println((double)diffTime/1000);<br>
}<br>
oldCal=cal;<br>
}<br>
System.out.println("");<br>
if(nameArray.size()==1){<br>
System.out.println("只增加了一个计时点,无法统计时间!");<br>
}<br>
else{<br>
long diffTime=oldCal.getTime().getTime()-firstCal.getTime().getTime();<br>
System.out.println("总计耗时: "+(double)diffTime/1000+" 秒");<br>
}<br>
}<br>
/**<br>
* 此处插入方法说明。<br>
* 创建日期:(2000-11-6 13:57:56)<br>
*/<br>
private void showInJsp() {<br>
try {<br>
if (nameArray.isEmpty()) {<br>
return;<br>
}<br>
Calendar oldCal = null, cal = null, firstCal;<br>
String name;<br>
long diffTime;<br>
firstCal = (Calendar) timeArray.get(0);<br>
System.out.println("序号\t\t名称\t\t\t\t时间\t\t\t\t耗时(秒)");<br>
String str = "";<br>
str += "<table width=\"400\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">"; <br>
str += "<tr><td>序号</td><td>名称</td><td>时间</td><td>耗时(秒)</td></tr>";<br>
for (int i = 0; i < nameArray.size(); i++) {<br>
str += "<tr>";<br>
name = (String) nameArray.get(i);<br>
cal = (Calendar) timeArray.get(i);<br>
str += "<td>";<br>
str += i + 1;<br>
str += "</td>";<br>
str += "<td>" + name + "</td>";<br>
str += "<td>"<br>
+ cal.get(Calendar.HOUR_OF_DAY)<br>
+ ":"<br>
+ cal.get(Calendar.MINUTE)<br>
+ ":"<br>
+ cal.get(Calendar.SECOND)<br>
+ "."<br>
+ cal.get(Calendar.MILLISECOND)<br>
+ "</td>"; <br>
if (oldCal == null) {<br>
//System.out.println("无");<br>
str += "<td>无</td>";<br>
} else {<br>
diffTime = cal.getTime().getTime() - oldCal.getTime().getTime();<br>
str += "<td>" + (double) diffTime / 1000 + "</td>";<br>
}<br>
oldCal = cal;<br>
str += "</tr>";<br>
}<br>
str += "<tr><td colspan=\"4\">";<br>
<br>
if (nameArray.size() == 1) {<br>
str += "只增加了一个计时点,无法统计时间!";<br>
} else {<br>
diffTime = oldCal.getTime().getTime() - firstCal.getTime().getTime();<br>
str += "总计耗时: " + (double) diffTime / 1000 + " 秒";<br>
}<br>
str += " </td></tr>";<br>
str += "</table>";<br>
out.println(str);<br>
} catch (java.io.IOException e) {<br>
}<br>
<br>
}<br>
}<br>
<br>
<br>
以下是在JSP中的用法<br>
<br>
<%@ page contentType="text/html;charset=gb2312"%><br>
<%@ page import="sony.utils.*,java.util.*"%><br>
<html><br>
<head><br>
<title>Untitled</title><br>
</head><br>
<br>
<body><br>
<%<br>
Timing time=new Timing(pageContext);<br>
time.add("Start");<br>
Random ran=new Random();<br>
int i=0,j=0;<br>
for(i=0;i<1000000;i++)<br>
j+=ran.nextInt();<br>
<br>
time.add("After 100");<br>
for(i=0;i<100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After 100000");<br>
for(i=0;i<100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After 100000");<br>
<br>
time.show();<br>
%><br>
</body><br>
</html>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -