dream.in.java

能以不变应万变是聪明人做事的准则。万事从小事做起,积累小成功,问鼎大成功,是成功者的秘诀。

计算某个方法的执行时间

 

 1 package assemblyLanguage;
 2 import java.math.BigInteger;
 3 import java.util.Date;
 4 import java.util.Scanner;
 5 
 6 
 7 public class Add {
 8 
 9     /**
10      * @param args
11      * Write a complete 8086 assembly language program to calculate and display the value of the expression:  
12      * "1 + (2+2) + 3 + (4+4) + 5 + (6+6) + 7 + 9 + (10+10) + 11 ++ N".
13      *  Notice the fact that the even numbers are added twice. 
14      *  N should be input from the keyboard. A LOOP structure is required.
15      *   Use a pseudocode or flowchart to sketch your ideas and plan the overall logic 
16      *   before you write the program. 
17      
18     static int  add(int n)
19     {
20         int result = 0;
21         for(int i = 1; i <= n; i++)
22         {
23             int temp = i;
24             if(temp % 2 == 0)
25                 {
26                 temp *=2;
27                 }
28             result += temp;
29                 
30         }
31         return result;
32     }
33     */
34     static BigInteger add(BigInteger n) throws Exception
35     {
36         BigInteger result = new BigInteger("0"),
37                     TWO = new BigInteger("2");
38         BigInteger temp = null;
39         for(BigInteger i = BigInteger.ONE; i.compareTo(n) <= 0; i=i.add(BigInteger.ONE))
40         {
41             temp = i;
42             if(temp.remainder(TWO).compareTo(BigInteger.ZERO) == 0)
43                 {
44                 temp=temp.multiply(TWO);
45 //                temp=temp.add(temp);
46                 }
47             result = result.add(temp);
48                 
49         }
50         return result;
51     }
52     public static void main(String[] args) throws Exception {
53         // TODO 自动生成方法存根
54         
55         Scanner reader = new Scanner(System.in);
56         System.out.print("Please input an integer: ");
57         BigInteger a = reader.nextBigInteger();
58         System.out.print("1+(2+2)+3+(4+4)+5++N(N=" + a.toString() + ")= ");
59         Date date1 = new Date();
60         System.out.println(add(a).toString());
61         Date date2 = new Date();
62         long totalTime = date2.getTime() - date1.getTime();
63         System.out.println("用时:"+ totalTime+"ms"); 
64 
65     }
66 
67 }
68 

 

posted on 2008-12-20 00:32 YXY 阅读(665) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: