Professional Documents
Culture Documents
學號 : 姓名 : 分數 :
1. 填充題 (20%)
public class ParamTest { class ObjTest {
public static void main(String args[]) { static int x = 0;
int x = 10; int y = 0;
System.out.println("x="+x);
static void addX() { x++; }
modifyValue(x); void addY() { y++; }
System.out.println("x="+x);
int [] a = {10, 5}; public static void main(String[] args) {
ObjTest o1 = new ObjTest();
System.out.println("a[0]="+a[0]); ObjTest o2 = new ObjTest();
modifyArray(a); o1.addX();
System.out.println("a[0]="+a[0]); o1.addY();
System.out.println("x="+o1.x);
System.out.println("a[1]="+a[1]);
System.out.println("y="+o1.y);
} o2.addX();
o2.addY();
static void modifyValue(int x) { System.out.println("x="+o2.x);
System.out.println("y="+o2.y);
x += 5; System.out.println("x="+o1.x);
} }
}
static void modifyArray(int[] a) {
a[0] += 5;
}
}
ParamTest 的輸出 : ObjTest 的輸出 :
x= x=
x= y=
a[0]= x=
a[0]= y=
a[1]= x=
2.函數 (20%)
(1) 請以廻圈的方式定義一個函數 static int power2(int (2) 請以遞回的方式定義一個函數 static int power2(int k),
k),可以計算 2 的 k 次方 2k 後傳回。 可以計算 2 的 k 次方 2k 後傳回,其遞回公式如下。
power2(1) = 2
power2(k) = power2(k-1)*2;
} }
1
金門技術學院 資管系 日四技一年級 程式設計 94 上 學期 期末考 出題者 : 陳鍾誠
學號 : 姓名 : 分數 :
3. 直線 (10%)
右列類別代表一條直線,包含兩個端點 (x1,y1) class Line {
(x2,y2)。 double x1,y1,x2,y2;
4. 三度空間的物件 (20%)
class Object 3D {
double volume() { return 0.0; }
}
class Ball3D extends Object3D {
double r;
Ball3D(double pr) { r = pr ; }
double volume() { return (4.0/3.0) * 3.14 * r * r *r ; }
} }
class Cube3D extends Object3D { // (2). 請填入程式碼。
double w; public static void main(String[] args) {
Cube3D(double pw) { w = pw ; }
double volume() { return w * w *w ; }
}
請填入右列主程式中的空白段:
2
金門技術學院 資管系 日四技一年級 程式設計 94 上 學期 期末考 出題者 : 陳鍾誠
學號 : 姓名 : 分數 :
5. 物件 (20%)
以下是上述函數的一個呼叫範例,僅供參考。
class DateTest {
public static void main(String[] args) {
Date d = new Date(2005, 4, 19);
System.out.println(”d.toString()=”+d.toString());
System.out.println(“d.toROC()=”+d.toROC());
}
}
輸出:
d.toString()=2005/4/19
d.toROC()=民國 94 年 4 月 19 日