You are on page 1of 2

金門技術學院 資管系 夜二技一年級 物件導向程式設計 93 下學期 期中考 出題者 : 陳鍾誠

學號 : 姓名 : 分數 :
請填寫下列空格
1. (10%) 2. (10%)
public class Exam1 { public class Exam2 {
public static void main(String args[]) { public static void main(String args[]) {
int x = 5;
int x = 5, y = 2; System.out.println("x="+x);
System.out.println("x%y="+(x%y)); callByValue(x);
System.out.println("x>y="+(x>y)); System.out.println("x="+x);
int [] a = {5, 5};
System.out.println("x<y="+(x<y));
System.out.println("a[0]="+a[0]);
System.out.println("x*3+y*5="+(x*3+y*5)); callByAddress(a);
System.out.println("x*3/5="+(x*3/5)); System.out.println("a[0]="+a[0]);
} System.out.println("a[1]="+a[1]);
}
} static void callByValue(int x) {
x = 9;
}
static void callByAddress(int[] a) {
a[0] = 9;
}
}
Exam1 的輸出 : Exam2 的輸出 :
x%y = 1 x= 5
x>y = true x= 5
x<y = false a[0] = 5
x*3+y*5 = 25 a[0] = 9
x*3/5 = 3 a[1] = 5

3. 請在正確的變數宣告前打 ○,錯誤的變數宣告前 4. 除錯題 : 請圈選出下列 Java 程式中錯誤的項目(共有五


打 X ,並說明錯誤的原因. (10%) 個),並註明正確的寫法 (10%)
(X) int 31x; class 100 { // 類別名稱不可為數字,改為 T100
(○) int X; public static void main(int args[]) { // int => String
(○) int x2z; int i = = 0; // i=0
(○) int Happy; WHILE (i<10) { // WHILE => while
(X) int y-2; System.out.println("i"=i); // "i="+i
i = i + 1;
}
}
}

5. 請寫出可以列印出 “你好!” 的完整 Java 程式 - 6. 延續上題 (10%)


Hello.java (10%) A. 請寫出將上例 Hello.java 編譯成 Hello.class 的指
class Hello { 令
public static void main(String[] args) javac Hello.java
{
System.out.println("Hello!"); B. 請寫出可以執行 Hello.class 檔案的指令
}
} java Hello

1
金門技術學院 資管系 夜二技一年級 物件導向程式設計 93 下學期 期中考 出題者 : 陳鍾誠
學號 : 姓名 : 分數 :
7. 請利用 if 寫出 min(a,b,c) 函數,可傳回兩個整數 a,b, c 中的最小值 (10%)
int min(int a, int b, int c) {
範例 : // 請填入程式碼於此區域
int m = a;
呼叫 min(3, 5, 7) 會傳回 3 if (m > b)
呼叫 min(9, 2, 8) 會傳回 2 m = b;
if (m > c)
請將答案填入右格中 m=c
return m;
}

8. 請利用 for 寫出可以印出下列星號排列的程式 (一定要用 for 迴圈). (10%)


class Star {
public static void main(String[] args) {
***** for (int i=5; i>=1; i--)
**** {
*** for (int j=1; j<=i; j++)
** System.out.print("*");
* System.out.println();
}
}
}

9. 遞迴函數

A. 請填寫下列空格 (10%) B. 請用遞迴寫出 f 函數 (10%)


class Recursive {
f(n) = f(n-1)+n public static void main(String[] args) {
f(1) = 1 System.out.println("f(5) ="+f(5));
}
f(2) = 3 public static int f(int n) {
f(3) = 6 if (n==1)
f(4) = 10 return 1;
f(5) = 15 else
f(6) = 21 return f(n-1) + n;
}
}

You might also like