5 ㄧ计

5.1 ㄧ计讽暗堵絚

    Math.sqrt(x)
    s.toUpperCase

5.2 ㄧ计﹚

    double balance = futureValue(rate);

    public static double futureValue(double p) {
        ...
    }

ㄒ肈: Futval.java (﹍絏)

ㄒいㄧ计 futureValue蹿肂㎝计常㏕﹚ эΘ狡ㄏノ(reusable)把计临惠糤肂㎝计

   public static double futureValue(double initBalance,
          double p, int nyear) {

      double b = initBalance
          * Math.pow(1 + p / (12 * 100), 12 * nyear);
      return b;
   }

5.3 ㄧ计爹秆

   /**
    * computes the value of an investment with compound interest
    * @param initBalance the initial value of the investment
    * @param p the interest rate in percent
    * @param nyear the number of years the investment is held
    * @return the balance after nyear years
    */
ㄏノ Java そノ祘Α javadoc笆盢 瓃祘Α爹秆锣Θ呼Α ノ猭:
    javadoc Futval.java

5.4 

   public static double futureValue(double initBalance,
          double p, int nyear) {

      if (nyear < 0) return 0;
      if (p < 0) return 0;
      double b = initBalance
          * Math.pow(1 + p / (12 * 100), 12 * nyear);
      return b;
   }

ㄧ计 futureValue (return value) ㄤ戈Α double static ボ硂ㄧ计琌ノ摸よ猭(class method) public ボヴㄧ计常 ㄏノ硂ㄧ计

ㄒ肈: Inside.java (﹍絏)
        代刚 Inside

5.5 把计

ㄏノㄧ计把计ノ朝Α璸衡
    b = futureValue(total/2, rate, year2 - year1);
把计跑计计瘤礛э
   public static double futureValue(double initBalance,
          double p, int nyear) {

      p = 1 + p/12/100;
      int n = 12 * nyear;
      double b = initBalance * Math.pow(p, n);
      return b;
   }
琌硂ぃ琌 style

5.6 捌ノ

狡ㄏノㄧ计埃癳ぇ程ぃ璶Τㄤ笆(捌ノ)
ㄒ
   public static double futureValue(double initBalance,
          double p, int nyear) {

      double b = initBalance
          * Math.pow(1 + p / (12 * 100), 12 * nyear);

      System.out.println("The balance is now " + b);

      return b;
   }
ノ System.outΤ瓜ざ祘Α碞ぃㄏノ

5.7 祘

⊿Τㄧ计嘿祘(procedure) 戈Αノ void ノ猭:
    printTime(now);

ㄒ肈: PrintTime.java (﹍絏)

5.8 э把计

祘いэ把计
   public static void updateBalance(double balance, double by) {

      double newBalance = balance * (1 + by / 100);
      balance = newBalance;
   }

   public static void main(String[] args) {
      double savings = 10000;
      double rate = 6;
      updateBalance(savings, rate);
      ...
   }
main い savings ご礛ゼ跑 э
   public static double updateBalance(double balance, double by) {
      double newBalance = balance * (1 + by / 100);
      return newBalance;
   }

   public static void main(String[] args) {
      double savings = 10000;
      double rate = 6;
      savings = updateBalance(savings, rate);
      ...
   }

5.9 跑计続ノ絛瞅

5.10 硋˙э▆

5.11 From Pseudo Code to Code

ㄒ肈: Intname.java (﹍絏)

5.12 Walkthrough

5.13 Preconditions

5.14 Recursion

ㄒ肈: Fac.java (﹍絏)