以下何者错误A呼叫方法时传入的参数个数必须和宣告时一解读.docx
《以下何者错误A呼叫方法时传入的参数个数必须和宣告时一解读.docx》由会员分享,可在线阅读,更多相关《以下何者错误A呼叫方法时传入的参数个数必须和宣告时一解读.docx(13页珍藏版)》请在冰豆网上搜索。
以下何者错误A呼叫方法时传入的参数个数必须和宣告时一解读
以下何者錯誤?
(A)呼叫方法時,傳入的參數個數必須和宣告時一致(B)呼叫方法時,傳入的參數名稱要和宣告時一致(C)呼叫方法時,可以使用字面常數(literal)當作參數(D)呼叫方法時,參數是以傳值的方式傳入
在方法中執行___________敘述可以直接返回呼叫處。
有關遞迴,以下何者正確?
(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=newint[](D)int[][]a={{1,2},{3,4}}
以下何者正確?
(A)int[]a=Newint[2];(B)int[][]a=newint[][2];(C)int[]a={2.0,3};(D)int[][][]a=newint[2][][];
請問以下程式執行後,會顯示何者?
(A)3(B)4(C)8(D)6
publicclassEx07_05{
publicstaticvoidmain(String[]argv){
int[]a={5,6,7,8};
int[]b={1,2,3,4};
System.out.println(b[(a=b)[2]]);
}
}
請說明以下程式何處錯誤?
publicclassEx07{
publicstaticvoidmain(String[]argv){
int[]a={5,6,7,8};
for(inti:
a)
System.out.println(i);
a={1,2,3,4};
for(inti:
a)
System.out.println(i);
}
}
關於以下敘述,何者錯誤?
(A)a指向一個2維陣列(B)a指向一個擁有3個元素的陣列(C)a[1]指向一個陣列(D)a[3]所指的陣列擁有2個元素
int[][]a=newint[3][2];
以下程式執行後,何者錯誤?
(A)a[3]為8(B)a[3]為4(C)c[3]為8(D)b[3]為8
publicclassEx08{
publicstaticvoidmain(String[]argv){
int[]a={5,6,7,8};
int[]b={1,2,3,4};
int[]c;
c=a;a=b;b=c;
}
}
請將以下程式更正:
publicclassex09{
publicstaticvoidmain(String[]argv){
int[]a={5,6,7,8};
inti;
for(inti:
a){
System.out.println(a[i]);
}
}
}
以下何者為真?
(A)JAVA利用參照計數來計算陣列的元素個數(B)JAVA會在程式不再需要使用陣列時立即回收陣列(C)陣列之間不能使用指定運算(D)以上皆非
下列何者正確?
(A)floatnum(30);(B)intfor[]=newfloat[5];(C)intarray[6];(D)intarray[]=newint[5];
下列何者正確?
(A)intarr={1,2,3,4,5,6};(B)intarr[5]={1,2,3,4,5,6};(C)intarr[]={1,2,3,4,5,6};(D)intarr[]={1,2.2,3,6.4,5.5};
在JAVA程式中,何者為錯誤的陣列宣告方式?
(A)intc[]=newint[12];(B)intc[]={1,2,3,4,5};(C)intc[12];(D)intc[];c=newint[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}
inta[]={1,2,3,4,5};hold=a[i];a[i]=a[i+1];a[i+1]=hold;
下列程式碼經編譯後執行的結果為何?
(A)nullpointer例外(B)1(C)myArray大小未指定myArray(D)2
publicclasstest{
publicstaticvoidmain(Stringargv[]){
intmyArray[]={1,2,3};
System.out.println(myArray[1]);
}
}
下列有關陣列的宣告方式何者正確?
(A)intarr[10]=newarr[];(B)int[10]arr=newarr[10];(C)int[]arr=newint[10];(D)intarr[]=newint[10];C,D
想要知道一個一維陣列flo的元素各數,可用下列何者:
(A)flo[].length(B)flo[].length()(C)flo.length(D)flo.length()
有關下列程式『int[][]array=newint[3][];』的敘述何者錯誤?
(A)此二維陣列的第2維元素個數可以指定不一樣的值如:
array[0]=newint[5];array[1]=newint[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;
HowcanyouinitializeanarrayofthreeBooleanvaluestoalltrue?
(A)boolean[]b=newboolean[3];(B)boolean[]b={true,true,true};(C)boolean[3]b={true,true,true};(D)boolean[]b=newboolean[3];b={true,true,true};
宣告字串緩衝器物件需使用下列哪一個關鍵字:
(A)create(B)new(C)String(D)StringBuffer
假設二個字串Stringstr1=newString(“Java2”);與Stringstr2=newString(“Java2”);則str1==str2的值為(A)true(B)false(C)Java2(D)不知道
假設二個字串Stringstr1=newString(“Java2”);與Stringstr2=str1;則str1==str2的值為(A)true(B)false(C)Java2(D)不知道
假設二個字串Stringstr1=newString(“Java2”);與Stringstr2=newString(“Java2”);則str1.equals(str2)的值為(A)true(B)false(C)Java2(D)不知道
如果要處理字串排序,必須使用下列哪一字串方法:
(A)==(B)equals(C)sort(D)compareTo
假設StringBuffersb=newStringBuffer(“Java”);且Strings=“Textbook”;則執行sb.appends(s);與sb.insert(4,”2”);後sb的值為(A)Java(B)Textbook(C)Java2Textbook(D)JavaT2extbook
試利用遞迴式寫法撰寫voidkitty(intk)method,當呼叫kitty(k)時,螢幕會顯示出K行的”HelloKitty”。
以下為部分程式片段請在空白處填入適當資料。
classex6_19{
publicstaticvoidmain(Stringargs[])
{
…
kitty(k);
}
staticvoidkitty(intn){
if(____________)
System.out.println("HelloKitty");
else
{
________________________________;
________________________________;
}
}//endofkitty()method
}//endofclassex6_19
執行下列程式其結果為何:
classex6_14{
publicstaticvoidmain(Stringargs[]){
inta[]={4,-5,3,5,0,9,-3,2,8,9};
intb[]={8,3,-3,4,3,0,9,2,3,9};
intsum=0;
for(intn=0;n<=9;n++)
sum+=a[n]*b[9-n];
System.out.println(sum);
}
}
試讀入一個16個位數的長整數,計算0-9每一個數字出現的次數。
以下為部份程式片段,請在空格處填入適當答案。
publicclassex5_37
{
publicstaticvoidmain(Stringargs[]){
StringstrN;
longnum,divider;
intn;
byten0,n1,n2,n3,n4,n5,n6,n7,n8,n9;
BufferedReaderbuf;
n0=n1=n2=n3=n4=n5=n6=n7=n8=n9=0;
…【省略讀入16位數的長整數num之程式片段】
for(inti=16;__________;i--)
{
divider=__________;
for(intk=1;_________;k++)//以迴圈求得該次的除數
divider=divider*10;
n=(int)(__________________);//商為該位數的數字
num=______________________;//下次循環相除的分子
switch(n)//檢查本次求得的數字為何
{
case0:
n0++;
____________;
case1:
n1++;
____________;
case2:
…【以下省略部份CASE程式片段】
…
}//endofswitch
}//endoffor
System.out.println("0:
"+n0);
System.out.println("1:
"+n1);
…【以下省略部份的列印片段】;
System.out.println("9:
"+n9);
}//endofmain
}//endofclass
執行下列程式片段,執行結果為何?
publicclasstest{
publicstaticvoidmain(Stringargs[]){
shortprice[]={12,16,10,14,15};
shortsales[][]={{3,2,5,4,3},{7,3,6,4,2},{4,5,4,6,6}};
inteachSales;
inteachProduct;
inti,j;
for(i=0;ieachSales=0;
for(j=0;jeachSales+=price[j]*sales[i][j];
System.out.println(i+"sales:
"+eachSales);
}
for(i=0;ieachProduct=0;
for(j=0;jeachProduct+=price[i]*sales[j][i];
System.out.println(i+"product:
"+eachProduct);
}
}
}
執行下列程式其結果為何?
publicclassfib{
publicstaticvoidmain(Stringargs[]){
intn=5;
System.out.println(f(5));
}
staticintf(intn){
if(n==1||n==2)
return1;
else
return(f(n-2)+f(n-1));
}
}
執行下列程式其結果為何?
publicclassex7_14{
publicstaticvoidmain(Stringargs[]){
inta[]={5,10,2,18,20,30,54};
System.out.println(method1(a));
}
staticintmethod1(intary[]){
intv1,v2,j;
v1=v2=ary[0];
for(j=1;j{
if(ary[j]v1=ary[j];
if(ary[j]>ary.length)
v2=ary[j];
}
return(v2-v1);
}
}
執行下列程式其結果為何?
publicclassprintMoney{
publicstaticvoidprintMoneySign(intlevel)
{
if(level==0)
System.out.print("$");
else
{
System.out.print("<");
printMoneySign(level-1);
System.out.print(">");
}
}
publicstaticvoidmain(String[]args)
{
printMoneySign(4);
}
}
1.如果Java的方法沒有傳回值,其傳回資料型態是________。
2.如果Java的方法有傳回值,是使用_________指令傳回方法的值。
問答題:
1.請說明方法的「正式參數」(FormalParameters)和「實際參數」(ActualParameters)是什麼,其差異為何?
2.Math類別的亂數方法是______________,四捨五入方法是_______________。
3.請設計Java的遞迴方法計算Xn的值,例如:
57、85等。
4.請分別使用遞迴和非遞迴版本寫出Java語言的最大公因數(GreaterCommonDivisor)方法。
5.請建立Java程式使用Math類別的亂數模擬擲2個骰子,骰子的點數是1~6點,使用迴圈顯示10次擲骰子的點數和。
6.請設計staticvoidprintStars()方法,傳入一共幾列的參數,顯示下列星號字元的三角形,如下圖所示:
*
**
***
****
*****
******
*******
(提示:
需要使用三層迴圈)
7.請說明什麼是由上而下分析法,其三個注意事項為何?
8.請寫一個Java的遞迴方法sum(a),可以計算1到參數a的和,例如:
sum(5),就是計算5+4+3+2+1。
9.請舉例或以圖形說明Java變數範圍的區域變數、方法參數和成員變數範圍。
10.請寫出下列遞迴方法printMoney(5)的執行結果,如下所示:
publicstaticvoidprintMoney(intlevel)
{
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,請設計staticvoidfibonacci()方法顯示費式數列,參數是顯示數字的個數。
13.請建立Java的類別方法square(a)和cube(a),可以計算參數的平方和三次方值。
14.請自行建立Java的類別方法max(a,b)和min(a,b),可以分別取得2個參數的最大和最小值。
執行下列程式片段其結果為何?
inta[]={33,44,55,66,77};
intb[]=newint[5];
intc[]=newint[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();
執行下列程式片段其結果為何?
inta[]={77,66,99,44,55};
intmax=a[0];
intmin=a[0];
intsum=a[0];
for(i=1;i<=4;i++){
sum+=a[i];
if(a[i]>max)
max=a[i];
if(a[i]min=a[i];
}
System.out.println(sum/5);
System.out.println(max);
System.out.println(min);
執行下列程式片段其結果為何?
inta[]=newint[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]);
執行下列程式其結果為何?
publicclassaaa{
publicstaticvoidmain(String[]argv){
char[]a={'a','$','B','6','b'};
for(intj=0;jif(a[j]<=122&&a[j]>=97)
a[j]-=32;
for(intj=0;jSystem.out.print(a[j]);
System.out.println();
}
執行下列程式其結果為何?
publicclassstarts
{
publicstaticvoidprintStars(intn)
{
if(n==1)
System.out.println("*");
else
{
for(intj=1;j<=n;j++)
System.out.print("*");
System.out.println();
printStars(n-1);
}
}
publicstaticvoidmain(Stringargs[])
{
printStars(5);
}
}
程式填空:
設計一程式,求出兩個整數或三個整數的最小值。
請採多型的方式設計:
publicclasspolymoph{
publicstaticintmin(inta,intb){
return(__________________________________);
}
publicstaticintmin(________________________){
intminVal;
if(a
if(________________)
minVal=a;
else
minVal=c;
else
if(_______________)
minVal=_________;
else
minVal=__________;
returnminVal;
}
publicstaticvoidmain(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陣列的值應為:
861045
publicclassarray1{
publicstaticvoidmain(String[]args){
int[]a={5,10,8,6,4};
int[]