2008年6月30日 星期一

我有話要說

 
 
  記得學期初大家為了最後幾個名額,大家可以說是搶破頭的狀況。很幸運也很難得的,因為電腦亂數的抽籤,拿到僅剩不多的位置。一個學期下來,收穫非常多,平常會想到JAVA,好像只有關於手機或是一些網路上的程式,但是親自學習之後,發現它的層面非常廣,甚至可以說跟C++的功能性不相上下,而JAVA所強調的主軸-物件導向,讓這個程式的目標更加明確。
 
  雖然學習下來,對於物件導向的概念還是懵懵懂懂,一些英翻中的名詞還是會有搞混的時候,但是對於整個JAVA想要達到的目的,已經有了概念。這學期也著手寫了不少的程式,有些不盡善盡美,語法的邏輯與嚴謹還要加強,而且可能是因為一些觀念的不流通,有時無法將程式用物件導向的方式表達出來。但是,感到抱歉的是,有些作業沒有馬上呈現上去。
 
  最後,謝謝老師的教導,在上課寫過程的時候不斷親自的給予指導,這種體驗是以前所沒有的。這樣可以更直接接觸到一個理想程式應有的邏輯概念,有時候上課比較抽象的東西,也可以藉由這個步驟,清楚的知道所要傳達的意念。多了這層的學習,無論以後是否會利用到這些學習的東西,或是單純的自己個人進修,我想一定都會回想起這階段啟蒙的過程,謝謝老師。
 
 

2008年6月29日 星期日

期末報告

到圖書館挑選二本Java課本,寫下這些書名與作者出版社與出版日期,每本書各挑選一個習題進行個人研究,說明以下:







  • 你為什麼挑選這個習題(只有題目,沒有範例或解答)



  • 這個習題讓你學到什麼概念


  • 請你製作一個講義說明這個習題。



第一本書:




書名:掌握JAVA-設計之鑰;作者:江義華;文編:林彩瑜




題目:設計一個程式,使用JFrame元件,含有兩個JtextField與一個JButton。




學習概念:




其實Java有內建GUI的介面設計功能,除了平常上課學的程式編輯概念與邏輯外,可以借由視窗化,直覺操作的介面,讓使用者可以明白這個程式的功能,做出像是計算機、或是輸入資料的程式。因為翻書的時候看到這部份覺得很有趣,跟平常上課的純文字程式內容不同,所以想要試著學習,做出一些不同的東西。



執行結果:
可以發現右邊有程式執行的結果,出現一個新建的視窗,有兩個欄位,與一個按鈕。標題顯示也無誤,視窗底色也有出現。











程式碼的部份,這裡用到了兩個新東西,分別是swing中的JFrame跟JButton類別,與awt中的上色功能。


















第二本書:



書名:最新JAVA2程式設計實例入門;作者:高橋麻奈;編審:劉春成



題目:請寫一個程式,能夠把下列的字串寫入文字檔中。

A long time ago,

There was a little girl.

學習概念:

這個部份有關於將程式執行,並且存入一個文字檔,等於是將程式的資料儲存下來,存成txt檔方便以後讀取。因為覺得這部份能夠利用的空間非常多,如果學會了以後,未來可以對I/O這部份做更深入的探討。

實驗結果:



成功的建立了一個文字檔,而且資料也順利的存入。
 
 
 
 
 
 
 
 
 
 
 
 
 

2008年6月26日 星期四

[補交]Lab Java Constructor

1. Demo部分的程式,得到的答案是正確的。

2. DateSixthTry程式碼部分:
a.
b.
c.
d.
e.

[補交]Lab ADT, accessor, mutator

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

The methods should include an access and a mutator.



2008年6月16日 星期一

Homework 6-02-2008

第1題.

2008年6月9日 星期一

ewewewe

public class ClassParameterDemo

{

public static void main(String[] args)

{

ToyClass anObject = new ToyClass("Mr. Cellphang", 0);

System.out.println(anObject);

System.out.println(

"Now we call chaner with anObject as arument.");

ToyClass.changer(anObject);

System.out.println(anObject);

}

}



public class ToyClass

{

private String name;

private int number;

public ToyClass(String initialName,int initialNumber)

{

name=initialName;

number=initialNumer;

}

public ToyClass()

{

name="No name yet";
number=0;

}

public void set(String newName,int newNumber)

{

name=newName;

number=newNumber;

}
public String toString()

{

return (name+" "+number);

}

public static void changer(ToyClass aParameter)

{

aParameter.name="Hot Shot"'

aParameter.number=42;

}

public boolean equals(ToyClass otherObject)

{

return ((name.equals(otherObject.name))

&&(number==otherObject.number));

}

}

Lab Static method

作完這個Lab覺得自己觀念真的很差...原本的程式雖然糊裡糊塗做出正確答案,但是看下去整個程式真的很難理解。多謝老師的指導,讓我的觀念可以馬上修正。






專題進度:刪除指令

轉存新資料庫加入刪除指令,利用GridView內建的命令按鈕,執行Delect的功能。

1.Gridview部分ShowDelete設定為True
2.SqlDataSource的Select選擇資料庫中的資料範圍
3.SqlDataSource的Delete刪除資料表,當[HSERN0]=@HSERN0

測試操作:
點選第二個Gridview表左邊的[刪除]
即可達到刪除該資料的功能

1.刪除前:點選下表第一個左方的刪除鍵
2.刪除後,該筆資料已刪除

Lab Java Constructor




2008年5月26日 星期一

lab Fraction equality test

1輸入要比較的兩個分數 2.處理過程

2008年5月19日 星期一

Fraction Addition

我先讓使用者可以輸入兩個分數,然後將分數存進字串在轉存成Int變數。
然後將四個數字傳到Fraction Class中處裡。

1.輸入部分與答案
2.Fraction處理部分,分成兩個大步驟,分別算分母與分子。



lab counter

1.Demo測試部分
2.Counter Class部分


Class Definition 3

如果不加上this的話,程式無法判斷這個是物件中的一個變數(如month)
,所以無法將從setMonth中得到的值(month,year,day)存入變數(month,year,day)中。

所以要加上this讓程式可以判別。

2008年4月28日 星期一

lab class definition 2

因為month定義為pirvate,所以只有該類別(class)中可以使用該函數,所以如果在外部要操作
的話就會出現不可見的錯誤訊息。










2008年4月14日 星期一

2008年4月7日 星期一

Homework 3-24-2008

1.

2.


2008年3月24日 星期一

Lab Finding the max of three numbers

輸入三個數字,比較大小。我用的方法是一個與其他兩個比較,如果皆大於其他兩個數字
則此數字即為最大的數字。

Tax Calculation

1.年收入兩百萬時的稅金
2.年收入一百萬時的稅金



"Homework 3-17-2008"

Hw.1

Java有內建開根號的計算程式,可是用這種方式算開根號很有趣,但是在guess得出的結果,多出了小數點的數字。


Hw.2
基本的加減乘運算。



Lab Keyboard input

1.依次輸入,字串轉成int過程正常

2.連續輸入時,無法順利轉換造成程式錯誤。


2008年3月17日 星期一

Lab Scanner

Do Display 2.6.
Sample Dialogue1
同時輸入22及10,間格一個空白或多個空白
Sample Dialogue2
依次輸入數字,先輸入22在輸入10

Homework 3-10-2008: String Processing



2008年3月10日 星期一

Lab: Simple Calculation


Homework 3-3-2008

1. Explain bytecode, JVM
Java被編譯後,會產生一種bytecode的虛擬碼,只要平台上有Java的直譯器,就可執行這個Java程式達到跨平台的目的。而JVM(Virtual Machine)就是提供Java程式執行的虛擬環境。
2. Explain class, object
Class就是定義一個大類別,類別下可以繼承同樣的行為,如人會說話,女人跟孩子也是人,所以也同樣會說話,但是並沒有實際的實體出來。而Object就是實際存在的單元性物件,如同老師A,學生B。
4.1 Write a Java program as follows:

Let i=2;
Print i;
Print 2 * (i++);
Print i;
Ans: 2, 4, 3
4.2 Write a Java program as follows:
Let i=2;
Print i;
Print 2 * (++i);
Print i;
Ans: 2, 6, 3
4.3 Write a Java program as follows:
Let m=7, n=2;
Print (double) m/n;
Print m/ (double)n;
Ans: 3.5, 3.5