2007年12月27日 星期四

資料

http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/AlgorithmGossip.htm

Lab: Static Method II

Define a Complex class with a static method for computing complex addition. Use (2+3i)+(4+5i) in your test.

照樣把它改成static





有鑑於之前常常被老師糾正
不過當時還不清楚static的差異
只發現寫得出來
現在才能了解當初寫的為什麼會有兩種方式


下面呼叫的方式便可略知ㄧ二

"Lab Static Method"

Study Display 5.2.
Using static variables and static methods to implement the class Fibonacci such that
the first call to Fibonacci.next()
returns 2, the second returns 3, and then 5, and so on.

根據Fibonacci的推算
並且將method設定為static


呼叫的時候也就不用開一個新的object來做Fibonacci級數



這也解決了之前做向量以及複數的時候
內積和複數相加
表現方式不同的原因了

2007年12月20日 星期四

"Homework 12/21/2007"

Design a method that can compute the vector inner product. You must define Vector class in the first place. Write a demo program to verify your program works. You should use constructors to initialize the two vectors.

Hint: The inner product is not a vector. It is a number (scalar).

Sample answer

由於向量不同於日期
日期的月份可以用String和數字兩種形式
向量沒有這麼多的考慮
所以裡面就只有用給初值以及non-argument來看

那我們輸出這邊一組先用non-argument
一組則是有給初值
下面再把non-argument改成給初值的那個constructor

Lab Java Constructor




Use Display 4.14 to call 4.13 (2nd ed.) or
Display 4.12 to call 4.11 (1st ed.).

After you finish the above, try the following

Date birthday = new Date("Jan",1,2000);
birthday.Date("Feb",1,2000);
birthday.setDate("Feb",1,2000);
birthday=new Date("Mar",1,2000);

比較不同的就是Date()這邊的定義


Demo這邊的變化
還有constructor



另外兩個則是用正確的方法


所以就可以成功呼叫

2007年12月12日 星期三

Homework 12-7-2007 Show comments on your blog.

Show comments on your blog.

先進去老師給的網址發現
這是一位網路上的高手提供的


得到程式碼後再去修改的地方


打開來就可以發現其中有一項是我們要的



把剛剛的程式碼打上去



大功告成

Homework 12-7-2007 Complex class

Define a Complex class and write an object oriented program to compute (2+3i)+(4+5i) in Java.

Complex class


Complex Demo for (2+3i)+(4+5i)


2007年12月7日 星期五

lab Fraction equality test

Write a program to implement a method that can check whether 2 fractions are equal. You will implement a class called Fraction consisting of a numerator and a denominator. The equality test of 2 fractions should return a boolean value.

Use the following as the tests.

  • 1/2, 2/4
  • 5/6, 6/7

Hints:
Fraction f1, f2;
f1.equals(f2);


1/2 vs 2/4


5/6 vs 6/7

2007年12月6日 星期四

lab Fraction Addition

Write a program to implement a method that can do additions of 2 fractions. You will implement a class called Fraction consisting of a numerator and a denominator. The additions of
2 fractions should be equal to a fraction.
Use 1/2+1/3 as the test.

Hints:
Fraction f1, f2;
f1.add(f2);



1/2+1/3=5/6


我覺得這次的lab讓我對物件導向有更深的了解
尤其是在思考該怎麼樣用物件來思考
去寫成兩個物件相加(根據我思考的結果應該是這樣吧XD)
也突顯了我之前練習沒有去注意細節(這幾個Display都在家裡打過了= =")
雖然有挫折但是也慢慢感覺物件導向的一些威力了>///<