自考04747《Java語言程序設計(一)》課后習題答案全集_第1頁
自考04747《Java語言程序設計(一)》課后習題答案全集_第2頁
自考04747《Java語言程序設計(一)》課后習題答案全集_第3頁
自考04747《Java語言程序設計(一)》課后習題答案全集_第4頁
自考04747《Java語言程序設計(一)》課后習題答案全集_第5頁
已閱讀5頁,還剩126頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第一章Java語言基礎.............................................................5

1.1指出JAVA語言的主要特點和JAVA程序的執(zhí)行過程。...................5

1.2說出開發(fā)與運行JAVA程序的重要步驟。...............................5

1.3如何區(qū)分應用程序和小應用程序?.....................................5

1.4說出JAVA源文件的命名規(guī)則。........................................5

1.6JAVA語言使用什么字符集?共有多少個不同的字符?...................5

1.7JAVA語言標識符的命名規(guī)則是什么?..................................6

1.8JAVA有那些基本數(shù)據(jù)類型,它們的常量又是如何書寫的?..............6

1.9指出下列內(nèi)容哪些是JAVA語言的整型常量,哪些是浮點數(shù)類型常量,哪些兩

者都不是。..............................................................6

第二章運算和語句...............................................................7

2.1Java的字符能參加算術運算嗎?.......................................7

2.2占字節(jié)多的變量能直接賦值給占字節(jié)少的變量么?......................7

2.3試用Java語言表達式描述以下數(shù)學計算式或邏輯條件:.................7

2.4設在求以下表達式之前,整型變量a的值是4,試指出在求了以下表達式之后,

變量a、b和c的值。...................................................7

2.6若一個數(shù)恰好等于它的因子之和,則這個數(shù)稱為“完全數(shù)”。編寫程序求1000

之內(nèi)的所有完全數(shù)。......................................................7

2.7編寫輸入正實數(shù)x,求平方不超過x的最大整數(shù)n,并輸出。.............8

2.8輸入正整數(shù)n,輸出由n行n列星號字符組成的三角形圖案。...........11

2.9設有整型變量x和y的值分別為5和110。試指出執(zhí)行了以下循環(huán)語句后,變

量x和y的值分別多少?................................................12

2.10求小于999的所有水仙花數(shù)。.......................................12

2.11編程序解百雞問題:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。

百錢買百雞。求雞翁、雞母和雞雛各幾何?................................13

2.12編寫程序,按下面的公式計算自然對數(shù)底e的值:e=l+l/l!+l⑵+1/3!+1/4!+......

.................................................................................................................................................13

2.13編寫程序,用如卜公式計算圓周率PI的近似值:PI=4-4/3+475-4/7+4/9-4/11...

.................................................................................................................................................14

2.14回文整數(shù)是指正讀法和反讀相同的整數(shù),編寫?個程序,輸入?個整數(shù),判

斷他是否為回文整數(shù)。...................................................15

2.15草地上有一堆野果,有一只猴子每天吃掉這堆野果的一半又一個,5天后剛好

吃完這堆野果,求這堆野果原來共有多少個?猴子每天吃多少個野果?......17

第三章面向?qū)ο缶幊袒A........................................................19

3.1什么是面向?qū)ο蠹夹g?它有什么優(yōu)點?................................19

3.2面向?qū)ο蟪绦蛟O計與面向過程程序設計有什么區(qū)別?...................19

3.3程序中類和對象有什么區(qū)別?........................................19

3.4類變量和實例變量,以及類方法和實例方法的區(qū)別。...................19

3.5子類能繼承超類的哪些成員變量和方法?..............................19

3.6子類在什么情況下能隱藏超類的成員變量和方法?.....................20

3.7在子類中是否允許有一個方法和超類的方法名字相同,而類型不同?....20

3.12以下程序有什么錯誤?..............................................20

3.13聲明一個復數(shù)類Complex。實現(xiàn)其基本功能。........................20

3.14聲明?個有理數(shù)類RationalNum。要求提供有理數(shù)的四則運算,以分數(shù)形式輸

出有理數(shù)和以浮點數(shù)形式輸出有理數(shù)等方法。.............................23

第四章數(shù)組和字符串............................................................28

4.1舉例說明如何聲明、創(chuàng)建和初始化數(shù)組。..............................28

4.2舉例說明如何聲明、創(chuàng)建和初始化數(shù)組。.............................28

4.3一個數(shù)組能夠存儲不同類型的元素嗎?................................28

4.4編寫一個Java程序,形成以下形式的二維數(shù)組,并輸出。.............28

4.5java中的字符數(shù)組與字符串有什么區(qū)別?.............................30

4.6確定一個字符數(shù)組長度與確定一個Siring對象的長度有什么不同?......30

4.7JTJtoUpperCase()和toLowerCase()方法實現(xiàn)大小寫轉(zhuǎn)換..................30

4.8編寫一個程序通過連接兩個字符串得到一個新字符串并輸出。..........31

4.9聲明MyDate類,功能:增加1天,增減1月和增加1年的方法;輸出MyDate

對象日期的方法;求兩個MyDate對象日期差的方法。并提供能用當前日期初始化

MyDate類對象的構(gòu)造方法。..............................................31

4.10求前n個質(zhì)數(shù)。要求確定m是否是質(zhì)數(shù),用早先求出的質(zhì)數(shù)對m的整除性來

確定。..................................................................34

4.11編寫實現(xiàn)從兩個字符串中找出最長的相同字符列的代碼。..............35

4.12整理字符串,將字符串的前導空白符和后隨空白符刪去,并將字符串中非空

白字符之間的連接的多個空白符只保留?個,而去掉多余的空白符。........36

4.13編寫用數(shù)組實現(xiàn)大整數(shù)的類,提供大整數(shù)的加、減、乘等運算。......36

第五章圖形界面設計............................................................43

5.1Swing與AWT有何關系?...........................................43

5.2什么是組件對象?什么是容器?容器與其他類型的組件有何不同?.......44

5.3以下程序中,有多少個組件,哪些既是組件又是容器?................44

5.4什么是事件?什么是監(jiān)聽器?如何進行事件注冊?.....................44

5.5如何進行事件處理?如何獲取事件源?................................44

5.6編寫已個小應用程序,小應用程序窗口有一個按鈕,點擊這個按鈕時,點擊按

鈕的次數(shù)會顯示在按鈕上。..............................................44

5.7創(chuàng)建一個有文本框和三個按鈕的程序。當按下某個按鈕時,使不同的文字顯示

在文本框中。..........................................................45

5.8編寫?個有兩個文本框的小應用程序,在第一個文本框輸入英語單詞,在第二

個文本框會自動顯示漢語解釋;在第一個文本框輸入漢語單詞,在第二個文本框中

顯示英語解釋。設英語單詞表只有少許幾個。.............................47

5.9一個標簽、一個文本框、一個文本區(qū)、兩個按鈕。當在文本區(qū)中輸入若干數(shù)后,

點擊求和按鈕,在文本框顯示輸入數(shù)的和,標簽顯示“輸入數(shù)的和“;點擊求平均值

按鈕,在文本框顯示輸入數(shù)的平均值,標簽顯示“輸入數(shù)的平均值”。要求文本區(qū)設

有滾動條。.............................................................49

5.10布局設計..........................................................51

第六章圖形界面設計............................................................54

6.1設計一個面板,該面板中有四個運動項目選擇框和一個文本區(qū)。當某個選擇項

目被選中時,在文本區(qū)中顯示該選擇項目。...............................54

6.2設計一個面板,該面板中有四個運動項目單選框和一個文本框。當某個選擇項

目被選中時,在文本框中顯示該選擇項目。...............................55

6.3設計一個面板,該面板中有四個運動項目單選按鈕和一個文本框。當某個選擇

項目被選中時,在文本框中顯示該選擇項目。.............................57

2

6.4設封—一個窗口,取默認布局BorderLayout布局。北面添加一個列表,有4門課

程選項。中心添加?個文本區(qū),當選擇列表中的某門課程后,文本區(qū)顯示相應課程

的介紹;(JList沒有addActionListener方法)..............................59

6.5設個窗口,取默認布局BorderLayout布局,北面添加一個組合框,組合框

有多門課程選項。中心添加一個文本框,當在組合框中選定一門課程后,文本框顯

示相應課程。...........................................................61

6.6設計一個JFrame窗口,窗口中心添加一個文本區(qū)。另添加4個菜單,每個菜

單都有菜單項,每個菜單項都有對應快捷健,選擇某個菜單項時,窗口中心的文本

區(qū)顯示相應信息。.......................................................62

6.7設計一個窗口,窗口有兩個依賴于它的對話框,一個對話框負責求園的面積;

另一個負責求三角形的面積。窗口中一個菜單負責打開這兩個對話框。幾個圖形的

數(shù)據(jù)通過對話框輸入。..................................................66

6.8設計一個JFrame窗口。.............................................69

6.9設計一個窗口,窗口中有一個文本框。程序?qū)︽I盤輸入進行監(jiān)視,當輸入一個

整數(shù)和回車字符時,在文本框輸入1至該整數(shù)的數(shù)列和;如果中間輸入非數(shù)字的其

他字符,在文本框中顯示輸入錯誤,重新輸入的字樣。.....................72

6.10編寫一個演示鼠標拖動和移動的程序。界面設有一個文本區(qū),當鼠標拖動或

移動時,在文本區(qū)中輸出指明鼠標拖動或鼠標移動,及鼠標位置的字樣。73

第七章圖形、圖像和多媒體.....................................................75

7.1編寫一個應用程序,繪制一個五角星。...............................75

7.2用Graphics2D繪制一條拋物線,設拋物線方程的系數(shù)從圖形界面輸入。..…76

7.3利用Graphics2D的平移,縮放,旋轉(zhuǎn)功能。繪制一個六角星。..........80

7.4編寫畫圖程序。.....................................................82

7.5輸入二次曲線的系數(shù),畫出二次曲線..................................87

7.6.寫音樂播放器,只能播放wav,mid格式的。........................92

第八章多線程...................................................................97

8.1建立線程有哪兩種方法?............................................97

8.2怎樣設置線程的優(yōu)先級?............................................97

8.3編寫程序,一個畫圓,一個畫橢圓。..................................97

8.4在多線程程序中,要考慮互斥的原因是什么?在Java中如何解決?.....100

8.5在多線程程序中,要考慮同步的原因是什么?在Java中如何解決?.....100

8.6模擬排隊買票,球票5元,購票者持有5,10,20,50元的,售票員手里開始

沒有零錢。.............................................................100

8.7修改例8.5程序,使一些暫時找不到零錢等待的顧客能按照先來先買的規(guī)則,

排隊等待購買紀念品。..................................................107

第九章輸入和輸出流............................................................116

9.2一個文本,一個按鈕。在文本區(qū)中輸入數(shù)據(jù),點擊按鈕,將文本內(nèi)容輸出到文

件。文件通過文件保存對話框制定。.....................................116

9.3在一個文件中,每行存的是整數(shù),各行整數(shù)個數(shù)不等,要求讀這個文件,然后

計算每行整數(shù)的和,并存到另一個文件中。..............................118

9.4在一個文本區(qū)中輸入數(shù)據(jù),把輸入的數(shù)據(jù)分析成各個單詞,然后排序顯示到第

二個文本區(qū)中,并通過文件保存對話框保存到文件中。....................121

9.5在一個文本區(qū)中輸入數(shù)據(jù),將文本區(qū)中的數(shù)據(jù)存入文件中,在又用戶指定的序

號,程序從文件中讀取對應序號數(shù)據(jù),輸出到文本框中。..................123

3

9.6一個文本區(qū),一個按鈕,點擊按鈕選擇文件,然后又把文件中的內(nèi)容輸入到文

本區(qū)中。...............................................................126

第十章網(wǎng)絡與數(shù)據(jù)庫編程基礎...................................................129

10.1程序中,用何種對象存儲IP地址和域名?...........................129

10.2用代碼示意程序獲取域名和IP地址的方法。........................129

10.3URL的作用是什么?..............................................129

10.4URLConnection對象的作用是什么?................................129

10.5由代碼示意由網(wǎng)址讀取網(wǎng)頁內(nèi)容的過程。............................129

10.6網(wǎng)絡編程可分哪些層次?..........................................130

10.7分別說出socket連接和serverSocket連接的方法。....................130

10.8說出java程序與數(shù)據(jù)庫連接的方法。...............................130

10.9Connection對象的作用是什么?....................................130

10.10ResultSet對象的作用是什么?.....................................130

10.11如何獲得可滾動結(jié)果集?..........................................130

10.12說出實現(xiàn)數(shù)據(jù)庫查詢的方法。.....................................131

4

第一章Java語言基礎

1.1指出JAVA語言的主要特點和JAVA程序的執(zhí)行過程。

答:(D強類型;

(2)編譯和解釋;

(3)自動無用內(nèi)存回收功能;

⑷面向?qū)ο螅?/p>

⑸與平臺無關;

(6)安全性;

(7)分布式計算;

⑻多線程;

程序執(zhí)行過程如圖所示:

B

(*.劃雙件)

Java編譯器

操作系統(tǒng)平臺

(".class文件)

1.2說出開發(fā)與運行JAVA程序的重要步驟。

答:(D編寫源文件:使用一個文本編譯器,如Edit或記事本,不可以使用Word.將編好

的源文件保存起來,源文件的擴展名必須是.java;

(2)編譯Java源文件:使用Java編譯器(javac.exe)編譯源文件得到字節(jié)碼文件;

(3)運行Java程序:Java程序分為兩類——Java應用程序必須通過Java解釋器

(java,exe)來解釋執(zhí)行其字節(jié)碼文件;Java小應用程序必須通過支持Java標準的瀏覽器來

解釋執(zhí)行。

1.3如何區(qū)分應用程序和小應用程序?

答:應用程序在與源文件名字相同的類中,有main。方法,該方法代表應用程序的入口;

小應用程序必須有一個Applet類的子類,該類稱作主類,必須用public修飾。

1.4說出JAVA源文件的命名規(guī)則。

答:源文件命名規(guī)則和類命名規(guī)則一樣,所有的單詞首字母都用大寫字母,且必須和源

文件的public類同名。

1.6JAVA語言使用什么字符集?共有多少個不同的字符?

答:Java語言使用Unicode字符集,共有65535個字符。

5

1.7JAVA語言標識符的命名規(guī)則是什么?

(1)由字母(包括英文字母、卜劃線字符、美元字符、文字字符)和數(shù)字字符組成

(2)限定標識符的第個字符不能是數(shù)字字符

(3)不能和關鍵字重名

(4)長度不能超過255個字符

1.8JAVA有那些基本數(shù)據(jù)類型,它們的常量又是如何書寫的?

數(shù)據(jù)類型關鍵字字節(jié)數(shù)默認值常量舉例范圍

邏輯

布爾型boolean1falsefalse,truefalse,true

類型

字符型char20a,我,0?65535

字節(jié)性byte1012,13,45-128?127

整數(shù)短整型short2012,13,45-32768?32767

類型整型int8012,13,45-2E31?2E31-1

長整型long80L12L,13L,45L-2E63?2E63-1

-I0E38?-10E-38

單精度浮點float4OF12.345F,6.7891F

浮點10E-38?10E38

類型-10E308?-10E-308

雙精度浮點double8OD12.345D,6.7891D

10E-308?10E308

1.9指出下列內(nèi)容哪些是JAVA語言的整型常量,哪些是浮點數(shù)類型常量,哪些

兩者都不是。

整型常量:4)OxABCL,8)003,10)077,12)056L

浮點數(shù)類型常量:3)-lE-31,5).32E3113)0.,14).0

兩者都不是:1),2),6),7),9),11)

6

第二章運算和語句

2.1Java的字符能參加算術運算嗎?

可以。(1)字符可整型數(shù)據(jù)運算,結(jié)果為整型數(shù)據(jù),只能賦給整型變量,如果附給字符

型變量會損失精度,需要強制類型裝換;

(2)字符與字符運算,結(jié)果為字符型數(shù)據(jù),可以直接賦給字符型或整型變量。

2.2占字節(jié)多的變量能直接賦值給占字節(jié)少的變量么?

答:不能直接賦值,需要強制類型轉(zhuǎn)換。

2.3試用Java語言表達式描述以下數(shù)學計算式或邏輯條件:

D丫=(4/3)萬

解:V=(4.0/3)*Math.PI*Math.pow(r,3);

2)R=l/(l/?+l/&)

解:R=1.0/(1.0/R1+1.0/R2);

3)y=x5+x3+6

解:y=Math.pow(x,5)+Math.pow(x,3)+6;

2

4)F=Mt-M2/R

解:F=1.0*Ml*M2/(R*R);

5)sin(x)/ax+1cos(^?x/2)I

解:Math,sin(x)/a*x+Math,abs(Math,cos(n*x/2));

6)0<a<10

解:a>0&&a<10

7)條件x=l與y=2有且只有一個成立.

解:(x==1&&y!=2)||(x!=1&&y==2)

2.4設在求以下表達式之前,整型變量a的值是4,試指出在求了以下表達式之

后,變量a、b和c的值。

D/?=〃*〃++;

解:a=5;b=16;

2)C=++Q+。;.

解:a=5;c=10

2.6若一個數(shù)恰好等于它的因子之和,則這個數(shù)稱為“完全數(shù)”。編寫程序求

1000之內(nèi)的所有完全數(shù)。

分析:若一個自然數(shù),它所有的真因子(即除了自身以外的約數(shù))的和恰好等于它本身,

這種數(shù)叫做完全數(shù).例如6=1+2+3;28=1+2+4+7+14

程序運行結(jié)果:

7

%Problemsi@Javadoc|隰Declaration曰Console漢

〈terminated〉ChapterOl[JavaApplication]C:\PrograjnFil

6的因子有:1+2+3

28的因子有:1+2+4+7+14

496的因子有:1+2+4+8+16+31+62+124+248

1000以內(nèi),完全數(shù)有:6,28,496

/**

*@author段智敏

*/

publicclassWork2_6{

publicstaticvoidmain(String[]args){

Stringresultstring="1000以內(nèi),完全數(shù)有:,//最后結(jié)果字符串

for(inti=1;i<=1000;i++){

if(isPerfectNumber(1)){

resultstring+=i+”,n;

)

)

System.out.printIn(resultString);

}

privatestaticbooleanisPerfectNumber(intnumber){

intsum=0;//因子的和

Stringstr=newString(nn);

for(inti=1;i<number;i++){

if(number%i==0){

sum+=i;

str+=i+n+H;

}

)

if(sum==number){//如果因子之和,等于本身,則是完數(shù)

str=str.substring(0,str.length()-1);//去掉字符串最后一

個多余的

System.out.printin(number+”的因子有?:"+str);

returntrue;

)

returnfalse;

}

}

2.7編寫輸入正實數(shù)x,求平方不超過x的最大整數(shù)n,并輸出。

程序運行結(jié)果:_________________________________

―「肯輸入正實數(shù)X:101

撕入非法字符,?程序結(jié)束?。?!平方不超過的最大整數(shù),n=10;

請輸入正實數(shù)X:-4515

輸入的數(shù)不是正實數(shù),程序結(jié)束?。。?/p>

8

第一種命令行方式輸入

importjava.util.Scanner;

*編寫輸入正實數(shù)x,求平方不超過x的最大整數(shù)n,并輸出。<BR>

*命令行方式,輸入正實數(shù),輸出結(jié)果<BR>

*@author段智敏

*/

publicclassWork2_7_l

(

publicstaticvoidmain(String[]args)

(

Scannerconsolescanner=newScanner(System.in);

System.out.print(n請輸入正實數(shù)X:n);

Stringstr=consolescanner.next();

intnumber=-1;

try

{

number=Integer.parselnt(str);

)

catch(NumberFormatExceptione)

(

System.out.printin("輸入非法字符,程序結(jié)束?。。 ?;

return;

)

if(number<1)

System.out.println("輸入的數(shù)不是正實數(shù),程序結(jié)束?。?!”);

else

{

intn=(int)(Math.sqrt(number));

System,out.printIn("平方不超過"+number+”的最大整數(shù),n=n+n+

)

}

}

第二種窗II方式輸入

運行結(jié)果如下圖:

/**

*編寫輸入正實數(shù)x,求平方不超過x的最大整數(shù)n,并輸出。

*彈出窗口方式

*^author段智敏

*/

importjavax.swing.JOptionPane;

publicclassWork2_7_2

(

privateintnumber;

publicWork2_7_2()

{

number=this.get工ntegerNumber("請輸入一彳、正實數(shù)”,1);

if(number<1)

9

return;//非法,程序結(jié)束

intn=(int)(Math.sqrt(number));

showResult("平方不超過"+number+”的最大整數(shù)\nn="+n+";”);

)

*通過圖形界面,得到符合規(guī)則的正整數(shù)的方法

*@parammessage-在彈出的對話框中,顯示提示信息message

*@parammin-要求此數(shù)必須大于等于min

*/

publicintgetIntegerNumber(Stringmessage,intmin)

{

Stringstr=JOptionPane.showInputDialog(null,”請輸入一個正整數(shù)

”提示信息“,

JOptionPane.INFORMATION_MESSAGE);

intnumber=-1;

try

(

number=Integer.parselnt(str);//得到輸入的正整數(shù)

}

catch(Exceptione)

{

JOptionPane.showMessageDialog(nullr”輸入非數(shù)字字符\n程序結(jié)束

“,”錯誤警告”,

JOptionPane.ERROR_MESSAGE);

return-1;//輸入的不是數(shù)字字符,程序結(jié)束

}

if(number<min)

(

JOptionPane.showMessageDialog(nullr”輸入的數(shù)不符合規(guī)則,不是正

整數(shù)\n程序結(jié)束”,

“錯誤警告",JOptionPane.ERROR_MESSAGE);

return-1;//輸入的數(shù)不是大「2的正整數(shù)時候,程.序結(jié)束

}

else

returnnumber;

}

*彈出對話框,顯示結(jié)果

*@paramstr-需要顯示的字符串

*/

publicvoidshowResult(Stringstr)

(

JOptionPane.showMessageDialog(null,strz"輸Hl結(jié)果”,

JOptionPane.INFORMATION_MESSAGE);

publicstaticvoidmain(String[]args)

(

newWork2_7_2();

10

2.8輸入正整數(shù)n,輸出由n行n列星號字符組成的三角形圖案。

程序運行結(jié)果:

產(chǎn)輸入?整數(shù)n;6|

***

****

*****

卜"…I

源代碼文件:Work2_8.java

importjava.util.*;

/**

*輸入正整數(shù)n,輸出由n行n列星號字符組成的三角形圖案。

*@author段智敏

*/

publicclassWork2_8

(

publicstaticvoidmain(Stringargs[])

{

Scannerconsolescanner=newScanner(System.in);

System.out.print("請輸入正整數(shù)n:n);

Stringstr=consolescanner.next();

intn=-1;

try

{

n=Integer.parselnt(str);

)

catch(NumberFormatExceptione)

(

System.out.printin("輸入非法字符,程序結(jié)束!!!");

return;

)

if(n<1)

System.out.printin("輸入的數(shù)不是正實數(shù),程序結(jié)束!!

else

{

for(inti=0;i<n;i++)

{

for(intj=0;j<n-i-l;j++)

(

System.out.print(nn);

}

for(intk=0;k<i+l;k++)

(

System.out.print

)

System.out.printIn();

}

}

)

)

11

2.9設有整型變量x和y的值分別為5和110。試指出執(zhí)行了以下循環(huán)語句后,

變量x和y的值分別多少?

1)while(x<=y)x*=2;

解:x=160;y=110;

2)do{x=y/x;y=y-x;}whi1e(y>=1);

解:x=18;y=0;

2.10求小于999的所有水仙花數(shù)。

程序運行結(jié)果:

Problems@JavadocDeclaration曰Console漢DProperties

(terminated^ChapterOl[JavaApplication]C:\ProgramFiles\Java\jdkl.6.1

1000之前的所有水仙花數(shù)有/p>

源代碼文件:Work2」0.java

/**

*求小于999的所有水仙花數(shù)

*@author段智敏

*/

publicclassWork2_10

(

publicstaticvoidmain(String[]args){

Stringresultstring=newString("1000之前的所有水仙花數(shù)有:”);//用

來存結(jié)果的字符串

for(inti=100;i<999;i++)

{

if(isNarcissusNumber(1))

resultstring+=”n+i;

)

System.out.printin(resultString.substring(0,

resultString.length()-1));

}

publicstaticbooleanisNarcissusNumber(intm)//判斷是否是水仙花數(shù)的

方法

(

intnumber=m;//把m存起來

inta[]=newint[100];//用來存c每個位上的數(shù)

intamount=0;//表示n的位數(shù)

while(m>0)//通過循環(huán)得到m每個位上的數(shù),存到數(shù)組中

{

a[amount]=m%10;

m=m/10;

amount++;

)

intsum=0;

for(intj=0;j<amount;j++)//累加每位上的數(shù)的位數(shù)次方

12

sum+=Math.pow(a[j]zamount);

)

if(number==sum)//如果累加的和等于這個數(shù)木身,則他是水仙花數(shù),返回真

returntrue;

returnfalse;

2.11編程序解百雞問題:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。

百錢買百雞。求雞翁、雞母和雞雛各幾何?

程序運行結(jié)果:

雞翁:0;~雞母:25;雞雛:75~

雞翁:4;雞母:18;雞雛:78

雞翁:8;雞母:11;雞雛:81

雞翁:12;雞母:4;雞雛:84

源代碼文件:Work2_ll.java

/*★

*雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。<BR>

*百錢買百雞。求雞翁、雞母和雞雛各幾何。<BR>

*@author段智敏

*/

publicclassWork2_ll

(

publicstaticvoidmain(Stringargs[])

(

for(inti=0;i<=100;i++)

(

for(intj=0;j<=100;j++)

(

for(intk=0;k<=100;k+=3)//雞雛的個數(shù)必須使3的倍

數(shù)

(

if(((5*i+3*j+k/3)==100)&&(i+j+k==100))

System,out.println("雞翁:”+i+n;雞母:"+j+n;

雞雛:"+k);

)

)

}

}

2.12編寫程序,按下面的公式計算自然對數(shù)底e的

值:e=l+l/l!+l/2!+1/3!+1/4!+.....

/**

*按公式計算:e=l+l/l!+1/2!+1/31+1/4!+.....

*@author段智敏

*/

publicclassWork2_12

(

publicstaticvoidmain(Stringargs[])

13

intn=1000;//計算精度

doublee=1.0;

for(inti=1;i<=n;i++)

(

e=e+1.0/Work2_12.factorial(i);

)

System.out.printin(ne="+e);

}

*計算階乘的靜態(tài)方法

*gparam-需要計算階乘的數(shù)

*@return-最后結(jié)果

*/

staticdoublefactorial(inta)

{

doublef=1.0;

for(intj=1;j<=a;j++)

f=f*j;

returnf;

}

2.13編寫程序,用如下公式計算圓周率PI的近似值:PI=

4-4/3+4/5-4/7+4/9-4/11...

程序運行結(jié)果:

計算100000。項后圓周率的近似值為3.1415936535907742

3.14是第629.0項,值為:3.1400002979112887

3.141是第1689.0項,值為:3,141000236580159

3.1415是第10795.0項,值為:3?1415000095284658

3.14159是第376851.0項,值為:3.1415900000140544

源代碼文件:Work2_13.java

/**

*圓周率計算

*@author段智敏

*/

publicclassWork2_13

(

publicstaticvoidmain(Stringargs[])

{

intnum=1000000;//控制計算的項數(shù),越高,越準確

System.out.println(”用公式計算圓周率,\n計算”+num+”項后圓周率的

近似值為“

+Work2_13.getPai(num));

System.out.printin("3.14+Work2_13.getIndex(3.14)+“項,

\t\t值為:”

+Work2_13.getPai(Work2_13.getIndex(3.14)));

System,out.printin("3.141+Work2_13.getlndex(3.141)+”項,

值為:"

+Work2_13.getPai(Work2_13.getlndex(3.141)));

System.out.printIn("3.1415是第”+Work2_13.getIndex(3.1415)+

14

項,\t值為:"

+Work2_13.getPai(Work2_13.getIndex(3.1415)));

System.out.printIn(n3.14159+Work2_13.getIndex(3.14159)+

”項,\t值為:”

+Work2_13.getPai(Work2_13.getIndex(3.14159)));

/**

*根據(jù)給出的數(shù)值,得到需要計算多少項才能得到這個數(shù)值

*

*@param|-數(shù)值

*@return-項數(shù)

*/

publicstaticdoublegetIndex(doublep)

(

intr=1,num=1000000;//控制計算的項數(shù),越高,越準確

doublei=1.0,pai=0.0,t=1.0;

while(r<num)

(

pai=pai+(4.0/i)*t;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論