題目一:
題目檔:
結果檔:
執行結果
題目二:
題目檔:
結果檔:
執行結果
題目三:
題目檔:
結果檔:
執行結果
題目四:
題目檔:
結果檔:
執行結果
資料檔
題目五:
題目檔:
結果檔:
執行結果
例外的建立:
如果在一般的程式中,呼叫 MyClass 的 myFunction時,
當 mycondition發生時,要丟出 myException, 讓原來呼叫的地方處理的話
題目檔:
結果檔:
執行結果
- 在JAVA中,若宣告變數時,沒有給初值,則
- 類別變數(member variables)會自動給如下初值
- 數值變數:0
- 邏輯變數:false
- 參考變數:null
- 數值變數:0
- 區域變數(local variables)不會自動給初值,所以程式中一定要設定初值,否則會發生編譯錯誤。
所以本題中,第4行其實可以不必寫。
- 類別變數(member variables)會自動給如下初值
- 非子類別的預設建構子(default constructor):
若一個類別不是子類別,且在類別宣告中,若沒有設定建構子,則在宣告該類別的物件時,在物件中會自動加入一個
1.沒有參數
2.什麼事也沒做
空的建構子
例:class MyClass { ..... ..... }
若在類別MyClass中,沒有設定建構子,則在宣告MyClass類別的物件時,會自動加入下列建構子MyClass() { }
- 子類別的預設預設建構子
例class ChildClass extends ParentClass { ..... ..... }
若在子類別ChildClass中,沒有設定建構子,則在宣告ChildClass類別的物件時,會自動加入下列建構子ChildClass() { super(); }
此時,若父類別 ParentClass 中沒有設定「無參數」的建構子ParentClass()的話,則會發生編譯錯誤。
題目二:
題目檔:
結果檔:
執行結果
題目三:
題目檔:
結果檔:
執行結果
題目四:
題目檔:
結果檔:
執行結果
資料檔
- 這一題的data.txt檔裡的空調項目的每一項首字母要改成大寫才會正確
- ArrayList物件:
1) ArrayList<型態>:要加上<型態>,不然會有warning。
2) new ArrayList<型態>():也要加上<型態>
3) ArrayList.add(物件):在ArrayList中加入一個新的元素,該元素必為一個物件。
4) ArrayList.iteration():傳回Iteration物件,走訪ArrayList中的元素用的物件
- Iteration物件:
1) Iteration.hasNext():是否已走訪到ArrayList的最後。
2) (物件)Iteration.next():傳回ArrayList中的下一個物件,要以(物件)來強制型別轉換回所存的物件型態
- Scanner物件:
1) new Scanner( new File(“文字檔的檔名”)):讀取文字檔。
2) Scanner.hasNext():是否已讀到檔案的最後。
題目五:
題目檔:
結果檔:
執行結果
例外的建立:
如果在一般的程式中,呼叫 MyClass 的 myFunction時,
當 mycondition發生時,要丟出 myException, 讓原來呼叫的地方處理的話
class MyClass { ....... myFunction throws myException { ....... if ( condtion ) throw new myException( p1, p2, ,... ) ........ } } class myException extens Excetion { } class MainClass { MyClass mc = new MyClass; public static void main( String argv[] ) { .............. try { mc.myFuction ; } catch ( myException e ) { ........... e. ....... ............ } } }