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都在家裡打過了= =")
雖然有挫折但是也慢慢感覺物件導向的一些威力了>///<

2007年11月30日 星期五

Homework 11-30-2007

Do Temperature Project, which is Project 7 (3rd, 2nd ed.) or Project 3 (1st ed.).


這次作業最大的問題好像是看懂題目~"~
我想題目應該是...
寫出兩個method來接收溫度
包含數字部份以及溫度的規格
所以基本就是要有接收兩組溫度的method(getData)(後面要比較)
有了兩組之後就是要有比較的method(comparison)
最後要有toString()把這些輸出
其中華氏及攝氏的轉換
數字方面只能到小數點後一位(round to nearest tenth of a degree)
接下來就是作業部分

下面是Temperature 的Class主體
由於過於龐大
先print出主體

下面這個是轉換華氏or攝氏的method


接下來是取得溫度的資料的method



輸出的method



還有比較用的method
這部分打了很多
我想也許是有太多不必要的邏輯吧







先把基本配備都弄齊全了
就可以開始RUN囉~

0C vs 32F the same



25C vs 60F 25C > 60F


25C vs 78F 25C < 78F


-40C vs -40F the same


100C vs 212F the same

這次的作業似乎比以前更為複雜
也運用了更多class跟method
也更為深入了

2007年11月29日 星期四

Lab counter

Define a class called Counter whose objects count things. An object of this class records a count that is a nonnegative integer. Include methods to set the counter to 0, to increase the count by 1, and to decrease the count by 1. Include an accessor method that returns the current count value and a method that outputs the count to the screen. Write a program to test


counter.reset();
counter.inc();
counter.inc();
counter.dec();
counter.output();



Lab Class Definition 3

Do Display 4.7 (3rd, 2nd ed.) or 4.5 (1st ed.). Then use Display 4.8 to call 4.7.

Question
The method setDate has the parameter as setDate(int month, int day, int year).
What kind of changes should be made in its body of codes?

課本的範例




接下來則是練習上課的this

2007年11月15日 星期四

Homework 11/16/2007: lab class definition 2

Study Display 4.4 (2nd ed. and 3rd ed.) or Display 4.2 & Display 4.3 (1st ed.) and then
1. Comment out date.setDate(6, 17, year); by // date.setDate(6, 17, year);
2. At the next line below, add date.readInput();
3. Run the program again. Fix any problems you may encouter along the way.
4. At the last line of your program, add System.out.println(date.month);
and see what happens. Why?


先把Display4.4打出來






接下來把題目中要求的加進去

我們發現date.month是不可見的!!!

根據我們上課的內容表示
是因為我們在class裡面定義month為private variable


我們嘗試著修改為public
再run一次
結果發現
System.out.println(date.month);
這次就可以print出來了!!!



Lab Class Definition


Study Display 4.1 and then do Self-Test Exercise 1.







ftp使用




先抓ftp軟體

http://toget.pchome.com.tw/intro/network_transfer/network_transfer_ftp/20471_dl.html

基本上點選上面那個來抓

FileZilla

抓完之後自行安裝

點選進去之後
打入資料
IP
140.135.9.235
帳密
student
student
通訊埠
21


連線成功後就可以看見有分享的檔案
右鍵用下載
左邊可以選擇儲存的地方