1. 基本操作(1小題,計30分)
注意:下面出現的“考生資料夾”均為%USER%
在考生資料夾中存有檔名為Java_檔案,請完善Java_檔案,
並進行除錯,使程式結果為:
a b c d e f g h i
由於Java_檔案不完整,請在註釋行“//*********Found*********”
下一行語句的下劃線地方填入正確內容,然後刪除下劃線,請勿刪除註釋行
或其他已有語句內容。
存檔時,檔案必須存放在考生資料夾下,不得改變原有檔案的檔名。
給定源程式:
import .*;
public class Java_1 {
public static void main(String[] args) {
char[] charArray = {'a','b','c','d','e','f','g','h','i'};
char c ;
try{
//*********Found**********
DataOutputStream out = new ______________________(
new FileOutputStream(""));
for(int i =0; i
eChar(charArray[i]);
}
e();TAB TAB
DataInputStream in = new DataInputStream(
//*********Found**********
new FileInputStream("____________________"));
while(lable(
103f
) != 0){
c=Char();
t(c+" ");
}
tln();
//*********Found**********
in.____________________();
}catch(IOException e){}
}
}
解題思路:
Java程式修改如下:
第1處:建立資料輸出流,需填入 DataOutputStream
第2處:檔案輸入流的檔名,需填入
第3處:關閉資料輸入流,需填入 close
參考源程式:c:wexam28990001hlpsys參考答案Java_
請把該程式複製到c:wexam28990001中,然後進行編譯和執行。
**********************************************************************
2. 簡單應用(1小題,計40分)
注意:下面出現的“考生資料夾”均為%USER%
在考生資料夾中存有檔名為Java_檔案,本題功能是在1-n之間
的自然數中,每次抽取k個數字來抽獎,計算中獎機率的演算法為:
n*(n-1)*(n-2)*·…* (n-k+1) / 1*2*3*…*k
請完善Java_檔案,並進行除錯,使程式先顯示輸入視窗
如下:
然後從自然數1-20中,每次抽3個數,計算中獎機率,並將最終結果在命令列
中顯示,其形式類似:
你中獎的`機率是1/1140. Good luck!
由於Java_檔案不完整,請在註釋行“//*********Found*********”
下一行語句的下劃線地方填入正確內容,然後刪除下劃線,請勿刪除註釋行
或其他已有語句內容。
存檔時,檔案必須存放在考生資料夾下,不得改變原有檔案的檔名。
給定源程式:
import g.*;
public class Java_2{
public static void main(String[] args){
//*********Found**********
String input = ____________________InputDialog("你想抽幾位數?");
//*********Found**********
int k = eInt(______________________);
input = InputDialog("你想在自然數中抽的最高數是幾?");
//*********Found**********
int n = ___________________eInt(input);
int lotteryOdds = 1;
for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds * (n - i + 1)/i;
//*********Found**********
tln("你中獎的機率是1/" + __________________ + ". Good luck!");
(0);
}
}
解題思路:
Java程式修改如下:
第1處:輸入對話方塊,需填入 JOptionPane
第2處:需轉換成整數的字串變數,需填入 input
第3處:將字串input轉換成整數的類方法所屬於的類,需填入 Integer
第4處:螢幕列印內容,需填入 lotteryOdds
參考源程式:c:wexam28990001hlpsys參考答案Java_
請把該程式複製到c:wexam28990001中,然後進行編譯和執行。
**********************************************************************
3. 綜合應用(1小題,計30分)
注意:下面出現的“考生資料夾”均為%USER%
在考生資料夾中存有檔名為Java_和Java_檔案,本題的功能
是用遞迴定義:n!=n*(n-1)! 計算0至10的階乘。請完善Java_檔案,
並進行除錯(在命令列中使用appletviewer Java_,或者使用整合開
發環境),使小程式結果如下:
由於Java_檔案不完整,請在註釋行“//*********Found*********”
下一行語句的下劃線地方填入正確內容,然後刪除下劃線,請勿刪除註釋行
或其他已有語句內容。
存檔時,檔案必須存放在考生資料夾下,不得改變原有檔案的檔名。
給定源程式:
import .*;
import g.*;
//*********Found**********
public class Java_3 extends _____________________{
JTextArea outputArea;
public void init(){
outputArea = new JTextArea();
//*********Found**********
Container c = ____________________();
//*********Found**********
( __________________ );
//計算0至10的階乘
for ( long i = 0; i <= 10; i++ )
nd(
i + "! = " + factorial( i ) + "n" );
}
//階乘的遞迴定義
public long factorial( long number ){
if ( number <= 1 )
return 1;
else
return number * factorial( number - 1 );
}
}
解題思路:
Java程式修改如下:
第1處:擴充套件網頁,需填入 JApplet
第2處:建立物件,需填入 getContentPane
第3處:新增物件,需填入 outputArea
參考源程式:c:wexam28990001hlpsys參考答案Java_,Java_
請把該程式複製到c:wexam28990001中,然後進行編譯和執行。