範圍:No.243 ~ No.260
No.243(拖拉題)
No.244(拖拉題)
No.245
實際執行排序的方法包括Arrays.sort和Collnections.sort,兩者都是static method,將該物件陣列及實作Comparator介面的物件傳入後,即可排序(不用回傳值)。
這題目是將 TreeSet來排序,TreeSet的功能是按照字母的大小來排序的。所以會印出”Coffee” , ”Tea”,但裡面有compareTo 並 return 0(相等的意思)。所以就列印出 Coffee。
No.246(拖拉題)
No.247(拖拉題)
No.248
這題目是考DateFormat日期轉換的方法。使用parse轉換就會有try catch 來執行parseException。所以只剩下C,D。但ParseException是parse才會正確。
No.249
這題目很簡單吧!不須多說明,就是字串後至遞增相加,420+42=42042
No.250
這題目答案是D(在13行錯),因為i是Integer 但陣列是字串的放入就會有出錯。還沒有執行在Eclipse上就會出現錯誤了,所以是compilation fails。
No.251(拖拉題)
No.252
這題是說 java.io.BufferedWriter 跟 java.io.FileWriter 兩個中,哪一個會有存在能力。我對這題的理解能力不夠,所以我了解的地方跟大家分享。Closing是有flushing的功能,flushing是清空緩衝區,D:有串流中定位。答案是E。
No.253
No.254
這題目是序列化(serializable介面)。正確答案是D。
import java.io.*; @SuppressWarnings("serial") public class Forest implements Serializable{ private Tree tree = new Tree(); public static void main(String []args){ Forest f = new Forest(); try{ FileOutputStream fs = new FileOutputStream("Forest.ser"); ObjectOutputStream os = new ObjectOutputStream(fs); os.writeObject(f); os.close(); }catch(Exception ex){ ex.printStackTrace(); } } } class Tree{} |
自行跑會有出錯 但不知原因
No.255
這題考套件。這個會有 runtime exception 原因是 12行說 csv是字串,第13行時 把csv丟到 scanner裡面,到15行時 scanner.nextlnt() 丟到 age,問題就來了 一直都是 String 到第15行 就轉成 int。當然會出錯了。
No.256
我們就從main開始看囉!建議一個物件,就會呼叫16行,因為會有隱藏的super(),16行就會呼叫14行,就會印出12,所以答案會有C,D,E,接下來才是真正的精采:現在可以看到serializable(序列化)只有Fruit另一個Food卻沒有。這裡面b.size就會將17行的42給印出。所以答案會是:12restored42。
import java.io.*; class Food {Food(){System.out.print("1");}} class Fruit extends Food implements Serializable{ private static final long serialVersionUID = 1L; Fruit(){ System.out.print("2"); } } public class Banana2 extends Fruit{ private static final long serialVersionUID = 1L; int size = 42; public static void main(String [] args){ Banana2 b = new Banana2(); b.serializeBanana2(b); b = b.deserializeBanana2(b); System.out.println("restored " + b.size+" "); } } 在eclipse跑會出現問題 有人可以解答請告訴我 |
No.257
這題目就很快就可以解說了,在java裡面 // 表示→ / 這個東西叫做是(Java Regular Expression)詳細的資料可以到(http://www.javaworld.com.tw/jute/post/view?bid=20&id=130126&sty=1&tpg=1&age=0),所以/d表示切除數字,/D這是大的D就會被切除字母,順帶如果 只有一個”/”就會出錯喔!必定為兩個/。
No.258
這題就簡單了吧!在256題就已經講過了,預設都會有SUPER來呼叫父類別,所以印出123。
No.259
這題目出錯的原因是在 5行的static的關西,答案是說Aclass就會出錯就是因為:return counter++ 時 static 跟non-static時就會出錯了。
No.260
這題目是考interface的基本宣告方法。A:介面可以繼承(正確無誤),B:interface B implement A(正確應該是 interface B interface A ),C:B是A的某一個。
以下是補概念的網頁
沒有留言:
張貼留言