在方法中執行 ___________ 敘述可以直接返回呼叫處。
有關遞迴,以下何者正確? (A)遞迴是使用迴圈解決問題 (B) 遞迴的方法一定要有結束條件 (C) 遞迴的方法不能使用成員變數 (D) 遞迴的方法不能呼叫類別中的其他方法
有關陣列的敘述,下列何者錯誤? (A)陣列是參照型別 (B)陣列必須使用new運算子配置空間 (C)陣列的元素可以存放不同型別的資料 (D)陣列的length屬性可以取得元素的個數
※以下程式敘述何者錯誤? (A)int[] a = {1,2,3,4} (B) int[3] a = {1,2,3} (C)int[] a = new int[] (D)int[][] a = {{1,2},{3,4}}
以下何者正確? (A)int[] a = New int[2]; (B)int[][] a = new int[][2]; (C)int[] a = {2.0,3}; (D)int[][][] a = new int[2][][];
請問以下程式執行後,會顯示何者? (A)3 (B)4 (C)8 (D)6 public class Ex07_05{
public static void main(String[] argv){ int[] a = {5,6,7,8}; int[] b = {1,2,3,4}; System.out.println(b[(a=b)[2]]); } }
請說明以下程式何處錯誤? public class Ex07{
public static void main(String[] argv){ int[] a = {5,6,7,8}; for(int i : a) System.out.println(i); a = {1,2,3,4}; for(int i : a) System.out.println(i); }
}
關於以下敘述,何者錯誤? (A)a指向一個2維陣列 (B)a指向一個擁有3個元素的陣列 (C)a[1]指向一個陣列 (D)a[3]所指的陣列擁有2個元素 int[][] a = new int[3][2];
以下程式執行後,何者錯誤? (A)a[3]為8 (B)a[3] 為4 (C)c[3] 為8 (D)b[3] 為8
public class Ex08{
public static void main(String[] argv){ int[] a = {5,6,7,8};
int[] b = {1,2,3,4}; int[] c;
c=a; a=b; b=c;
} }
請將以下程式更正:
public class ex09{
public static void main(String[] argv){ int[] a = {5,6,7,8};
int i; for(int i : a){ System.out.println(a[i]); } } }
以下何者為真? (A)JAVA利用參照計數來計算陣列的元素個數 (B)JAVA會在程式不再需要使用陣列時立即回收陣列 (C)陣列之間不能使用指定運算 (D)以上皆非
下列何者正確?(A)float num(30); (B)int for[] = new float[5]; (C)int array[6]; (D)int array[] = new int[5];
下列何者正確? (A)int arr={1,2,3,4,5,6}; (B)int arr[5]={1,2,3,4,5,6}; (C)int arr[]={1,2,3,4,5,6}; (D)int arr[]={1,2.2,3,6.4,5.5};
在JAVA程式中,何者為錯誤的陣列宣告方式? (A)int c[]=new int[12]; (B)int c[] = {1,2,3,4,5}; (C)int c[12]; (D)int c[]; c=new int[12];
若變數i的值為2,則下列程式碼執行後,陣列A的內容為何? (A){1,3,2,4,5} (B){1,2,3,4,5} (C){1,2,4,3,5} (D){5,4,3,2,1}
int a[]={1,2,3,4,5}; hold = a[i]; a[i]=a[i+1]; a[i+1]=hold;
下列程式碼經編譯後執行的結果為何? (A)null pointer例外 (B)1 (C)myArray大小未指定myArray (D)2
public class test{ public static void main(String argv[]){
}
int myArray[]={1,2,3};
System.out.println(myArray[1]);
}
下列有關陣列的宣告方式何者正確? (A)int arr[10] = new arr[]; (B)int[10] arr = new arr[10]; (C)int[] arr = new int[10]; (D)int arr[] = new int[10]; C,D 想要知道一個一維陣列flo的元素各數,可用下列何者: (A)flo[].length (B)flo[].length() (C)flo.length (D)flo.length()
有關下列程式『int[][] array = new int[3][];』的敘述何者錯誤? (A)此二維陣列的第2維元素個數可以指定不一樣的值如:array[0]=new int[5]; array[1]=new int[7]; (B)array.length(); 的到的結果是3 (C)array是一個物件 (D)array[0].length(); 會造成編譯錯誤
下列用來取得JAVA執行指令列後之參數個數的方法,何者正確?
(A)args.length() (B)args.length (C)args[].Length (D)args.Length()
下列四個陣列初始化後,底下哪一個選項會發生編譯錯誤? (A) array2 = array1; (B) array2=array3; (C) array2=array4; (D) array3 = array4; byte[] array1,array2[]; byte[] array3[]; byte[][] array4;
How can you initialize an array of three Boolean values to all true? (A)boolean[] b=new boolean[3]; (B)boolean[] b = {true,true,true}; (C)boolean[3] b = {true,true,true}; (D)boolean[] b=new boolean[3]; b={true,true,true};
宣告字串緩衝器物件需使用下列哪一個關鍵字:(A)create (B)new (C)String (D)StringBuffer
假設二個字串String str1=new String(“Java 2”); 與String str2=new String(“Java 2”);則str1 = = str2的值為 (A)true (B)false (C)Java 2 (D)不知道
假設二個字串String str1=new String(“Java 2”); 與String str2=str1; 則str1 = = str2的值為 (A)true (B)false (C)Java 2 (D)不知道
假設二個字串String str1=new String(“Java 2”); 與String str2=new String(“Java 2”); 則str1.equals(str2)的值為 (A)true (B)false (C)Java 2 (D)不知道
如果要處理字串排序,必須使用下列哪一字串方法:(A)= = (B)equals (C)sort (D)compareTo
假設StringBuffer sb=new StringBuffer(“Java”); 且 String s= “Textbook”; 則執行 sb.appends(s); 與 sb.insert(4,”2”); 後 sb的值為 (A)Java (B)Textbook (C)Java2Textbook (D)JavaT2extbook
試利用遞迴式寫法撰寫void kitty(int k) method,當呼叫kitty(k)時,螢幕會顯示出K行的”Hello Kitty”。以下為部分程式片段請在空白處填入適當資料。 class ex6_19{
public static void main(String args[])
{
…
kitty(k); }
static void kitty(int n){ if(____________) }
System.out.println(\"Hello Kitty\"); else { ________________________________; ________________________________; }
} //end of kitty() method //end of class ex6_19
執行下列程式其結果為何: class ex6_14 {
public static void main(String args[]){ int a[]={4,-5,3,5,0,9,-3,2,8,9}; int b[]={8,3,-3,4,3,0,9,2,3,9}; int sum = 0; for(int n=0;n<=9;n++) sum += a[n]*b[9-n]; System.out.println(sum); }
}
試讀入一個16個位數的長整數,計算0-9每一個數字出現的次數。以下為部份程式片段,請在空格處填入適當答案。 public class ex5_37 {
public static void main(String args[]){ String strN;
long num,divider; int n;
byte n0,n1,n2,n3,n4,n5,n6,n7,n8,n9; BufferedReader buf;
n0=n1=n2=n3=n4=n5=n6=n7=n8=n9=0;
… 【省略讀入16位數的長整數num之程式片段】
for(int i=16;__________;i--) {
divider = __________;
for(int k=1;_________;k++) //以迴圈求得該次的除數 divider = divider*10;
n=(int)(__________________); //商為該位數的數字 num=______________________; //下次循環相除的分子 switch(n) //檢查本次求得的數字為何 {
case 0: n0++;
____________; case 1: n1++;
____________;
case 2: …【以下省略部份CASE程式片段】 …
} //end of switch } // end of for
System.out.println(\"0 : \"+n0); System.out.println(\"1 : \"+n1); …【以下省略部份的列印片段】; System.out.println(\"9 : \"+n9); } //end of main } //end of class
執行下列程式片段,執行結果為何? public class test{
public static void main(String args[]){ short price[] = {12,16,10,14,15};
short sales[][] = {{3,2,5,4,3},{7,3,6,4,2},{4,5,4,6,6}}; int eachSales; int eachProduct; int i,j;
for(i=0;i for(j=0;j System.out.println(i+ \" sales:\"+eachSales); } for(i=0;i System.out.println(i+ \" product:\"+eachProduct); } } } 執行下列程式其結果為何? public class fib{ public static void main(String args[]){ int n = 5; System.out.println(f(5)); } static int f(int n){ if(n==1 || n==2) return 1; else return (f(n-2) + f(n-1)); } } 執行下列程式其結果為何? public class ex7_14{ public static void main(String args[]){ int a[] = {5,10,2,18,20,30,54}; System.out.println(method1(a)); } static int method1(int ary[]){ int v1,v2,j; v1 = v2 = ary[0]; for(j=1;j if(ary[j] > ary.length) v2=ary[j]; } return (v2-v1); } } 執行下列程式其結果為何? public class printMoney{ public static void printMoneySign(int level) { if (level == 0) System.out.print(\"$\"); else { System.out.print(\"<\"); printMoneySign(level-1); System.out.print(\">\"); } } public static void main(String[] args) { printMoneySign(4); } } 1. 如果Java的方法沒有傳回值,其傳回資料型態是________。 2. 如果Java的方法有傳回值,是使用_________指令傳回方法的值。 問答題: 1. 請說明方法的「正式參數」(Formal Parameters)和「實際參數」(Actual Parameters)是什麼,其差異為何? 2. Math類別的亂數方法是______________,四捨五入方法是 _______________。 3. 請設計Java的遞迴方法計算Xn的值,例如:57、85等。 4. 請分別使用遞迴和非遞迴版本寫出Java語言的最大公因數(Greater Common Divisor)方法。 5. 請建立Java程式使用Math類別的亂數模擬擲2個骰子,骰子的點數是1~6點,使用迴圈顯示10次擲骰子的點數和。 6. 請設計static void printStars()方法,傳入一共幾列的參數,顯示下列星號字元的三角形,如下圖所示: * * * * * * * * * * * * * * * * * * * * * * * * * * * * (提示:需要使用三層迴圈) 7. 請說明什麼是由上而下分析法,其三個注意事項為何? 8. 請寫一個Java的遞迴方法sum(a),可以計算1到參數a的和,例如:sum(5),就是計算5+4+3+2+1。 9. 請舉例或以圖形說明Java變數範圍的區域變數、方法參數和成員變數範圍。 10. 請寫出下列遞迴方法printMoney(5)的執行結果,如下所示: public static void printMoney(int level) { if (level == 0) System.out.print(\"$\"); else { System.out.print(\"<\"); printMoneySign(level-1); System.out.print(\">\"); } } 11. 請說明Java方法的傳值或傳址參數傳遞。 12. 費式數列(Fibonacci)是第1個和第2個數字為1,F0=F1=1,其它是前兩個數字的合Fn=Fn-1+Fn-2, n>=2,請設計static void fibonacci()方法顯示費式數列,參數是顯示數字的個數。 13. 請建立Java的類別方法square(a)和cube(a),可以計算參數的平方和三次方值。 14. 請自行建立Java的類別方法max(a, b)和min(a, b),可以分別取得2個參數的最大和最小值。 執行下列程式片段其結果為何? int a[]={33,44,55,66,77}; int b[]=new int[5]; int c[]=new int[5]; for(i=0;i<=4;i++) System.out.print(a[i]+” “); System.out.println(); b=a; for(i=0;i<=4;i++) System.out.println(“b[“+i+”]=”+b[i]); System.out.println(); for(i=0;i<=4;i++) c[i]=a[i]+b[i]; for(i=00;i<=4;i++) System.out.print(c[i]+” “); System.out.println(); 執行下列程式片段其結果為何? int a[]={77,66,99,44,55}; int max=a[0]; int min=a[0]; int sum=a[0]; for(i=1;i<=4;i++){ sum += a[i]; if(a[i] > max) max=a[i]; if(a[i] < min) min=a[i]; } System.out.println(sum/5); System.out.println(max); System.out.println(min); 執行下列程式片段其結果為何? int a[] = new int [8]; a[1] = 1; a[2]=1; for(i=3;i<=7;i++) a[i] = a[i-2]+a[i-1]; System.out.println(a[4]); 執行下列程式其結果為何? public class aaa{ public static void main(String[] argv){ char [] a = {'a','$','B','6','b'}; for(int j=0; j public static void printStars(int n) { if(n == 1) System.out.println(\"*\"); else { for(int j=1;j<=n; j++) System.out.print(\"*\"); System.out.println(); printStars(n-1); } } public static void main(String args[]) { printStars(5); } } 程式填空:設計一程式,求出兩個整數或三個整數的最小值。請採多型的方式設計: public class polymoph { public static int min(int a, int b){ return ( __________________________________ ); } public static int min( ________________________ ){ int minVal; if(a < b) if( ________________) minVal = a; else minVal = c; else if(_______________) minVal=_________; else minVal= __________; return minVal; } public static void main(String[] argv){ System.out.println(min(10,20)); System.out.println(min(200,100,300)); System.out.println(min(200,350,150)); } } 程式填空:將a陣列的每一元素依其在b陣列中相對元素所指的位址搬移,搬移後的值仍放在a陣列。最後再將a陣列的值印出。如下式之a,b陣列的值,在搬移後a陣列的值應為:8 6 10 4 5 public class array1 { public static void main(String[] args){ int[] a = {5,10,8,6,4}; int[] b = {4,2,0,1,3}; int[] c; c = _________________; for(int j=0;__________________;j++) c[ __________ ] = _______________; a = ______________; for( ________________ ) System.out.print(j+\" \"); System.out.println(); } } 因篇幅问题不能全部显示,请点此查看更多更全内容