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

下載本文檔

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

文檔簡介

1、1.1 指出JAVA語言的主要特點和JAVA程序的執(zhí)行過程。答:(1)強類型;(2)編譯和解釋;(3)自動無用內(nèi)存回收功能;(4)面向?qū)ο?(5)與平臺無關(guān);(6)安全性;(7)分布式計算;(8)多線程;程序執(zhí)行過程如圖所示:編寫源文件,編譯器編譯源文件轉(zhuǎn)換成字節(jié)碼,解釋器執(zhí)行字節(jié)碼。1.2 說出開發(fā)與運行JAVA程序的重要步驟。答:(1)編寫源文件:使用一個文本編譯器,如Edit或記事本,不可以使用Word.將編好的源文件保存起來,源文件的擴(kuò)展名必須是.java; (2)編譯Java源文件:使用Java編譯器(javac.exe)編譯源文件得到字節(jié)碼文件; (3)運行Java程序:Java程

2、序分為兩類Java應(yīng)用程序必須通過Java解釋器(java.exe)來解釋執(zhí)行其字節(jié)碼文件;Java小應(yīng)用程序必須通過支持Java標(biāo)準(zhǔn)的瀏覽器來解釋執(zhí)行。1.3 如何區(qū)分應(yīng)用程序和小應(yīng)用程序? 答:應(yīng)用程序在與源文件名字相同的類中,有main()方法,該方法代表應(yīng)用程序的入口; 小應(yīng)用程序必須有一個Applet類的子類,該類稱作主類,必須用public修飾。1.4 說出JAVA源文件的命名規(guī)則。答:源文件命名規(guī)則和類命名規(guī)則一樣,所有的單詞首字母都用大寫字母,且必須和源文件的public類同名。1.6 JAVA語言使用什么字符集?共有多少個不同的字符? 答:Java語言使用Unicode字符集

3、,共有65535個字符。 1.7 JAVA語言標(biāo)識符的命名規(guī)則是什么?(1)由字母(包括英文字母、下劃線字符、美元字符、文字字符)和數(shù)字字符組成(2)限定標(biāo)識符的第一個字符不能是數(shù)字字符(3)不能和關(guān)鍵字重名(4)長度不能超過255個字符1.8 JAVA有那些基本數(shù)據(jù)類型,它們的常量又是如何書寫的?數(shù)據(jù)類型關(guān)鍵字字節(jié)數(shù)默認(rèn)值常量舉例范圍邏輯類型布爾型boolean1falsefalse,truefalse,true 字符型char20a,我,0 65535 整數(shù)類型字節(jié)性byte1012,13,45-128 127 短整型short2012,13,45-32768 32767整型in

4、t8012,13,45-2E31 2E31-1長整型long80L12L,13L,45L-2E63 2E63-1浮點類型單精度浮點float40F12.345F,6.7891F-10E38 -10E-3810E-38 10E38雙精度浮點double80D12.345D,6.7891D-10E308 -10E-30810E-308 10E3081.9 指出下列內(nèi)容哪些是JAVA語言的整型常量,哪些是浮點數(shù)類型常量,哪些兩者都不是。整型常量: 4)0xABCL,8)003,10)077,12)056L浮點數(shù)類型常量:3)-1E-31,5).32E31 13)0.,14).0兩者都不是: 1),2

5、),6),7),9),11)第二章 運算和語句2.1 Java的字符能參加算術(shù)運算嗎?可以。(1)字符與整型數(shù)據(jù)運算,結(jié)果為整型數(shù)據(jù),只能賦給整型變量,如果附給字符型變量會損失精度,需要強制類型裝換; (2)字符與字符運算,結(jié)果為字符型數(shù)據(jù),可以直接賦給字符型或整型變量。2.2 占字節(jié)多的變量能直接賦值給占字節(jié)少的變量么? 答:不能直接賦值,需要強制類型轉(zhuǎn)換。2.3 試用Java語言表達(dá)式描述以下數(shù)學(xué)計算式或邏輯條件:1)解:V = (4.0/3)*Math.PI*Math.pow(r,3);2)解:R = 1.0 / (1.0/R1+1.0/R2);3)解:y = Math.pow(x,5)

6、 + Math.pow(x,3) + 6;4)解:F = 1.0 * M1 * M2 / (R * R);5)解:Math.sin(x) / a * x + Math.abs( Math.cos( * x / 2) );6)0 < a <10解:a > 0 && a < 10 7) 條件 x=1 與 y=2 有且只有一個成立. 解:( x = 1 && y != 2) | (x != 1 && y = 2) 2.4 設(shè)在求以下表達(dá)式之前,整型變量a的值是4,試指出在求了以下表達(dá)式之后,變量a、b和c的值。1) 解:a=5

7、; b=16;2);解:a=5 ; c=102.6 若一個數(shù)恰好等于它的因子之和,則這個數(shù)稱為“完全數(shù)”。編寫程序求1000之內(nèi)的所有完全數(shù)。分析:若一個自然數(shù),它所有的真因子(即除了自身以外的約數(shù))的和恰好等于它本身,這種數(shù)叫做完全數(shù)。例如6=1+23;28=124714程序運行結(jié)果:/* author 段智敏 */public class Work2_6 public static void main(String args) String resultString = "1000以內(nèi),完全數(shù)有:" /最后結(jié)果字符串for (int i = 1; i <= 100

8、0; i+)if (isPerfectNumber(i)resultString += i + ","System.out.println(resultString);private static boolean isPerfectNumber(int number)int sum = 0;/ 因子的和String str = new String("");for (int i = 1; i < number; i+)if (number % i = 0)sum += i;str += i + "+"if (sum = numb

9、er)/ 如果因子之和,等于本身,則是完數(shù)str = str.substring(0, str.length() - 1); / 去掉字符串最后一個多余的“+”;System.out.println(number + "的因子有:" + str);return true;return false;2.7 編寫輸入正實數(shù)x,求平方不超過x的最大整數(shù)n,并輸出。程序運行結(jié)果:第一種命令行方式輸入import java.util.Scanner;/* * 編寫輸入正實數(shù)x,求平方不超過x的最大整數(shù)n,并輸出。<BR> * 命令行方式,輸入正實數(shù),輸出結(jié)果<BR&

10、gt; * author 段智敏 */ public class Work2_7_1public static void main(String args)Scanner consoleScanner = new Scanner(System.in);System.out.print("請輸入正實數(shù)X:");String str = consoleScanner.next();int number = -1; trynumber = Integer.parseInt(str);catch( NumberFormatException e ) System.out.print

11、ln("輸入非法字符,程序結(jié)束!");return;if (number < 1)System.out.println("輸入的數(shù)不是正實數(shù),程序結(jié)束!");elseint n = (int) (Math.sqrt(number);System.out.println("平方不超過"+number+"的最大整數(shù),n="+n+";");第二種窗口方式輸入運行結(jié)果如下圖:/* * 編寫輸入正實數(shù)x,求平方不超過x的最大整數(shù)n,并輸出。 * 彈出窗口方式 * author 段智敏 */ impo

12、rt javax.swing.JOptionPane;public class Work2_7_2private int number;public Work2_7_2()number = this.getIntegerNumber("請輸入一個正實數(shù)", 1);if (number < 1)return; / 非法,程序結(jié)束int n = (int) (Math.sqrt(number);showResult("平方不超過" + number + "的最大整數(shù)nn = " + n + ";");/* * 通

13、過圖形界面,得到符合規(guī)則的正整數(shù)的方法 * param message - 在彈出的對話框中,顯示提示信息message * param min - 要求此數(shù)必須大于等于min */public int getIntegerNumber(String message, int min)String str = JOptionPane.showInputDialog(null, "請輸入一個正整數(shù)", "提示信息",JOptionPane.INFORMATION_MESSAGE);int number = -1;trynumber = Integer.pa

14、rseInt(str); / 得到輸入的正整數(shù)catch( Exception e )JOptionPane.showMessageDialog(null, "輸入非數(shù)字字符n程序結(jié)束", "錯誤警告",JOptionPane.ERROR_MESSAGE);return -1; / 輸入的不是數(shù)字字符,程序結(jié)束if (number < min)JOptionPane.showMessageDialog(null, "輸入的數(shù)不符合規(guī)則,不是正整數(shù)n程序結(jié)束","錯誤警告", JOptionPane.ERROR

15、_MESSAGE);return -1; / 輸入的數(shù)不是大于2的正整數(shù)時候,程序結(jié)束elsereturn number;/* * 彈出對話框,顯示結(jié)果 * param str - 需要顯示的字符串 */public void showResult(String str)JOptionPane.showMessageDialog(null, str, "輸出結(jié)果",JOptionPane.INFORMATION_MESSAGE);public static void main(String args)new Work2_7_2();2.8 輸入正整數(shù)n,輸出由n行n列星號字

16、符組成的三角形圖案。程序運行結(jié)果:源代碼文件:Work2_8.java import java.util.*;/* * 輸入正整數(shù)n,輸出由n行n列星號字符組成的三角形圖案。 * author 段智敏 */ public class Work2_8public static void main(String args)Scanner consoleScanner = new Scanner(System.in);System.out.print("請輸入正整數(shù)n:");String str = consoleScanner.next();int n = -1;tryn =

17、Integer.parseInt(str);catch( NumberFormatException e )System.out.println("輸入非法字符,程序結(jié)束!");return;if (n < 1)System.out.println("輸入的數(shù)不是正實數(shù),程序結(jié)束!");elsefor(int i=0;i<n;i+)for(int j=0;j<n-i-1;j+)System.out.print(" ");for(int k=0;k<i+1;k+)System.out.print("*&

18、quot;);System.out.println();2.9 設(shè)有整型變量x和y的值分別為5和110。試指出執(zhí)行了以下循環(huán)語句后,變量x和y的值分別多少?1)while(x<=y) x*=2;解:x=160 ;y=110;2)dox=y/x; y=y-x;while(y>=1);解:x=18; y=0; 2.10求小于999的所有水仙花數(shù)。程序運行結(jié)果:源代碼文件:Work2_10.java/* * 求小于999的所有水仙花數(shù) * author 段智敏 */ public class Work2_10public static void main(String args) Str

19、ing resultString = new String("1000之前的所有水仙花數(shù)有:");/ 用來存結(jié)果的字符串for (int i = 100; i < 999; i+)if (isNarcissusNumber(i)resultString += " " + i;System.out.println(resultString.substring(0, resultString.length() - 1);public static boolean isNarcissusNumber(int m)/ 判斷是否是水仙花數(shù)的方法int num

20、ber = m;/ 把m存起來int a = new int100;/ 用來存n每個位上的數(shù)int amount = 0;/ 表示n的位數(shù)while (m > 0)/ 通過循環(huán)得到m每個位上的數(shù),存到數(shù)組中aamount = m % 10;m = m / 10;amount+;int sum = 0;for (int j = 0; j < amount; j+)/ 累加每位上的數(shù)的位數(shù)次方sum += Math.pow(aj, amount);if (number = sum)/ 如果累加的和等于這個數(shù)本身,則他是水仙花數(shù),返回真return true;return false;2

21、.11 編程序解百雞問題:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。百錢買百雞。求雞翁、雞母和雞雛各幾何?程序運行結(jié)果:源代碼文件:Work2_11.java/* * 雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。<BR> * 百錢買百雞。求雞翁、雞母和雞雛各幾何。<BR>* author 段智敏 */public class Work2_11public static void main(String args)for (int i = 0; i <= 100; i+)for (int j = 0; j <= 100; j+) for (int k

22、 = 0; k <= 100; k += 3) /雞雛的個數(shù)必須使3的倍數(shù)if (5*i + 3 * j + k / 3) = 100) && (i + j + k = 100)System.out.println("雞翁:" + i + " 雞母:" + j + " 雞雛:"+ k);2.12 編寫程序,按下面的公式計算自然對數(shù)底e的值:e=1+1/1!+1/2!+1/3!+1/4!+./* * 按公式計算:e=1+1/1!+1/2!+1/3!+1/4!+. * author 段智敏 */public clas

23、s Work2_12public static void main(String args)int n = 1000; / 計算精度double e = 1.0;for (int i = 1; i <= n; i+)e = e + 1.0 / Work2_12.factorial(i);System.out.println("e = " + e);/* * 計算階乘的靜態(tài)方法 * param - 需要計算階乘的數(shù) * return - 最后結(jié)果 */static double factorial(int a)double f = 1.0;for (int j = 1;

24、 j <= a; j+)f = f * j;return f;2.13 編寫程序,用如下公式計算圓周率PI的近似值:PI4-4/3+4/5-4/7+4/9-4/11.程序運行結(jié)果:源代碼文件:Work2_13.java/* * 圓周率計算 * author 段智敏 */public class Work2_13public static void main(String args)int num = 1000000; / 控制計算的項數(shù),越高,越準(zhǔn)確System.out.println("用公式計算圓周率,n計算" + num + "項后圓周率的近似值為&q

25、uot;+ Work2_13.getPai(num);System.out.println("3.14是第" + Work2_13.getIndex(3.14) + "項,tt值為:"+ Work2_13.getPai(Work2_13.getIndex(3.14);System.out.println("3.141是第" + Work2_13.getIndex(3.141) + "項,t值為:"+ Work2_13.getPai(Work2_13.getIndex(3.141);System.out.printl

26、n("3.1415是第" + Work2_13.getIndex(3.1415) + "項,t值為:"+ Work2_13.getPai(Work2_13.getIndex(3.1415);System.out.println("3.14159是第" + Work2_13.getIndex(3.14159) + "項,t值為:"+ Work2_13.getPai(Work2_13.getIndex(3.14159);/* * 根據(jù)給出的數(shù)值,得到需要計算多少項才能得到這個數(shù)值 * * param p - 數(shù)值 *

27、return - 項數(shù) */public static double getIndex(double p)int r = 1, num = 1000000; / 控制計算的項數(shù),越高,越準(zhǔn)確double i = 1.0, pai = 0.0, t = 1.0;while (r < num)pai = pai + (4.0 / i) * t;t = -t;i = i + 2;r+;if (pai >= p && pai <= (p + 0.000001)break;return r;/* * 根據(jù)給出的數(shù),按公式進(jìn)行計算圓周率 * param num - 公式項

28、數(shù) * return 返回按公式計算出的圓周率 */public static double getPai(double num)int r = 1;double i = 1.0, pai = 0.0, t = 1.0;while (r < num)pai = pai + (4.0 / i) * t;t = -t;i = i + 2;r+; return pai; 2.14 回文整數(shù)是指正讀法和反讀相同的整數(shù),編寫一個程序,輸入一個整數(shù),判斷他是否為回文整數(shù)。程序運行結(jié)果:import javax.swing.JOptionPane;/* * 輸入整數(shù),判斷是否是回文整數(shù) * autho

29、r 段智敏 */ public class Work2_14private int number;public Work2_14()number = getIntegerNumber("輸入一個正整數(shù)n", 1);/ 要求是>=1的整數(shù)if (number < 0)return;if (isPalindrome(number)showResult("輸入的正整數(shù) “" + number + "”是回文數(shù)");elseshowResult("輸入的正整數(shù) “" + number + "”不是回文

30、數(shù)");/* * 判斷是否是回文數(shù) * param number - 需要判斷的正整數(shù) * return 是回文數(shù)返回真,否則返回假 */public boolean isPalindrome(int number)int a = new int100;int i = 0;int test = number;while (test > 0) / 把整數(shù)的各個位上的數(shù)存到數(shù)組里ai = test % 10;test = test / 10;i+;/ 累計整數(shù)位數(shù)for (int j = 0; j < i; j+)if (aj != ai - j - 1)/ 有對應(yīng)不相等的,

31、肯定不是,直接跳出并附給b為falsereturn false;return true;/ 如果一直相等,則if里邊的語句不能被執(zhí)行b的值是true/* * 通過圖形界面,得到符合規(guī)則的正整數(shù)的方法 * param message - 在彈出的對話框中,顯示提示信息message * param min - 要求此數(shù)必須大于等于min * return 返回符合規(guī)則的整數(shù) */public int getIntegerNumber(String message, int min)String str = JOptionPane.showInputDialog(null, message, &q

32、uot;提示信息",JOptionPane.INFORMATION_MESSAGE);int number = -1;trynumber = Integer.parseInt(str); / 得到輸入的正整數(shù)catch( Exception e )JOptionPane.showMessageDialog(null, "輸入非數(shù)字字符n程序結(jié)束", "錯誤警告",JOptionPane.ERROR_MESSAGE);return -1; / 輸入的不是數(shù)字字符,程序結(jié)束if (number < min)JOptionPane.showMe

33、ssageDialog(null, "輸入的數(shù)不符合規(guī)則,不是正整數(shù)n程序結(jié)束","錯誤警告", JOptionPane.ERROR_MESSAGE);return -1; / 輸入的數(shù)不是大于2的正整數(shù)時候,程序結(jié)束elsereturn number;/* * 彈出對話框,顯示結(jié)果 * param str - 需要顯示的字符串 */public void showResult(String str)JOptionPane.showMessageDialog(null, str, "輸出結(jié)果",JOptionPane.INFORMAT

34、ION_MESSAGE);public static void main(String args)new Work2_14();2.15 草地上有一堆野果,有一只猴子每天吃掉這堆野果的一半又一個,5天后剛好吃完這堆野果,求這堆野果原來共有多少個?猴子每天吃多少個野果?程序運行結(jié)果:源代碼文件:Work2_15.java/* * 猴子吃蘋果問題 * author 段智敏 */public class Work2_15 public static void main(String args)int i, j, test = 1;for (i = 1; i < 100000; i+)test

35、= i;for (j = 0; j < 5; j+) / 5天test = test / 2 - 1;if (test = 0) / 5天后野果子數(shù)量為0,則滿足要求System.out.println("這堆野果原來共有" + i + "個");break;/ 打印出猴子每天吃野果子的個數(shù)int eat;test = i;for (j = 1; j <= 5; j+)eat = test / 2 + 1;test = test / 2 - 1;System.out.println("第" + j + "天吃&q

36、uot; + eat + "個"); 第三章 面向?qū)ο缶幊袒A(chǔ)3.1 什么是面向?qū)ο蠹夹g(shù)?它有什么優(yōu)點?答:面向?qū)ο蠹夹g(shù)強調(diào)在軟件開發(fā)過程中面向客觀世界或問題域中的事物,采用人類在認(rèn)識客觀世界的過程中普遍運用的思維方法,直觀、自然地描述客觀世界中的有關(guān)事物。面向?qū)ο蠹夹g(shù)的基本特征主要有抽象性、封裝性、繼承性和多態(tài)性。3.2 面向?qū)ο蟪绦蛟O(shè)計與面向過程程序設(shè)計有什么區(qū)別?答:面向過程程序設(shè)計關(guān)注的是函數(shù)功能的實現(xiàn);面向?qū)ο蟪绦蛟O(shè)計關(guān)注將函數(shù)和數(shù)據(jù)如何綁定到一個對象,通過對象的描述、對象間的關(guān)系、類的管理實現(xiàn)程序的功能。3.3 程序中類和對象有什么區(qū)別?答:類是一組對象共性的集

37、合。類具有行為,它描述一個對象能夠做什么以及做的方法,它們是可以對這個對象進(jìn)行操作的程序和過程。對象是類的一個實例,它代表一個現(xiàn)實物理“事件”。3.4 類變量和實例變量,以及類方法和實例方法的區(qū)別。  加載類之前創(chuàng)建對象之后調(diào)用方法訪問權(quán)限成員變量實例變量不分配內(nèi)存各個對象之間各自分配獨立的內(nèi)存空間 對象名.實例變量名被實例方法,構(gòu)造方法訪問類變量直接分配內(nèi)存各個對象之間共享這段已經(jīng)分配完的內(nèi)存對象名.類變量名;類名.類變量名被實例方法,類方法,構(gòu)造方法訪問成員方法實例方法不分配入口地址共享一個入口地址對象名.實例方法名實例變量、類變量,實例方法、類方法類方法直接分配入口地

38、址共享這個入口地址對象名.類方法名;類名.類方法名類變量、類方法3.5 子類能繼承超類的哪些成員變量和方法? 同包繼承不同包繼承(import進(jìn)來的)私有(private)不繼承不繼承友好(缺省默認(rèn))繼承不繼承受保護(hù)(protected)繼承繼承共有(public)繼承繼承3.6 子類在什么情況下能隱藏超類的成員變量和方法?解:子類重載父類的成員變量、方法時候。 3.7 在子類中是否允許有一個方法和超類的方法名字相同,而類型不同?解:不允許。方法重寫是指:子類中定義一個方法,并且這個方法的名字、返回類型、參數(shù)個數(shù)、和類型與從父類繼承的方法完全相同。3.12 以下程序有什么錯誤?解:類

39、方法main()調(diào)用了類的實例變量,main方法是類方法,不能調(diào)用類的實例變量a,導(dǎo)致錯誤!3.13 聲明一個復(fù)數(shù)類Complex。實現(xiàn)其基本功能。復(fù)數(shù)類:Complex.java/* * 復(fù)數(shù)類 * author 段智敏 */public class Complexprivate double real;/ real為實部private double image;/ image為虛部public Complex()real = Double.NaN;image = Double.NaN;/* * 構(gòu)造方法 * param real - 實部 * param image - 虛部 */publ

40、ic Complex(double real, double image)this.real = real;this.image = image;/* * 取復(fù)數(shù)實部 * return - 返回復(fù)數(shù)的實部 */public double getReal()return real;/* * 設(shè)置復(fù)數(shù)的實部 * param real - 實部 */public void setReal(double real)this.real = real;/* * 取復(fù)數(shù)的虛部 * return - 返回復(fù)數(shù)的虛部 */public double getImage()return this.image;/*

41、* 設(shè)置復(fù)數(shù)的虛部 * param image - 虛部 */public void setImage(double image)this.image = image;/* * 設(shè)置實虛部 * param real - 實部 * param image - 虛部 */public void setComplex(double real, double image)this.real = real;this.image = image;/* * 返回該復(fù)數(shù)的字符串表示。 * return - 該復(fù)數(shù)的字符串表示形式。 */public String toString()if (real = Do

42、uble.NaN && image = Double.NaN)return ""elseString result = new String(this.real + (image > 0) ? "+" : "")+ (image != 0) ? this.image + "i" : "");return result;/* * 復(fù)數(shù)加法, * param val - 另一個復(fù)數(shù) * return - 當(dāng)前復(fù)數(shù)對象與參數(shù)指定的復(fù)數(shù)對象的和 */public Complex a

43、dd(Complex val)Complex result = new Complex (this.real + val.getReal(), this.image + val.getImage();return result;/* * 復(fù)數(shù)減法,當(dāng)前對象減去參數(shù)對象 * param val - 另一個復(fù)數(shù) * return - 當(dāng)前復(fù)數(shù)對象與參數(shù)指定的復(fù)數(shù)對象的差 */public Complex subtract(Complex val) / ,返回,Complex result = new Complex (this.real - val.getReal(), this.image -

44、val.getImage();return result;/* * 復(fù)數(shù)乘法 * param val - 另一個復(fù)數(shù) * return - 當(dāng)前復(fù)數(shù)對象與參數(shù)指定的復(fù)數(shù)對象的積 */public Complex multiply(Complex val)Complex result = new Complex ();result.setReal(this.real * val.getReal() - this.image * val.getImage();result.setImage(this.real * val.getImage() + this.image * val.getReal(

45、);return result;/* * 復(fù)數(shù)除法 * param val - 另一個復(fù)數(shù) * return - 當(dāng)前復(fù)數(shù)對象與參數(shù)指定的復(fù)數(shù)對象的商 */public Complex divide(Complex val)Complex result = new Complex ();result.setReal(this.real * val.getReal() + this.image * val.getImage()/ (val.getReal() * val.getReal() + val.getImage() * val.getImage();result.setImage(thi

46、s.image * val.getReal() - this.real * val.getImage()/ (val.getReal() * val.getReal() + val.getImage() * val.getImage();return result;復(fù)數(shù)測試類:TestComplex.java程序運行結(jié)果:/* * 復(fù)數(shù)測試類 * author 段智敏 * */public class TestComplexpublic static void main(String args)Complex complex1 = new Complex(2, 4);Complex compl

47、ex2 = new Complex(3, -1);Complex result = new Complex();System.out.println("復(fù)數(shù)1:" + complex1.toString() + ";實部" + complex1.getReal() + ";虛部"+ complex1.getImage();System.out.println("復(fù)數(shù)2:" + complex2.toString() + ";實部" + complex2.getReal() + ";虛部

48、"+ complex2.getImage();result = complex1.add(complex2);/ 兩個復(fù)數(shù)之和System.out.println("復(fù)數(shù):" + complex1.toString() + " 與" + "復(fù)數(shù):" + complex2.toString()+ " 之和為:" + result.toString();result = complex1.subtract(complex2);/ 兩個復(fù)數(shù)之差System.out.println("復(fù)數(shù):"

49、 + complex1.toString() + " 與" + "復(fù)數(shù):" + complex2.toString()+ " 之差為:" + result.toString();result = complex1.multiply(complex2);/ 兩個復(fù)數(shù)乘積System.out.println("復(fù)數(shù):" + complex1.toString() + " 與" + "復(fù)數(shù):" + complex2.toString()+ " 的乘積為:" +

50、result.toString();result = complex1.divide(complex2);/ 兩個復(fù)數(shù)的商System.out.println("復(fù)數(shù):" + complex1.toString() + " 與" + "復(fù)數(shù):" + complex2.toString()+ " 的商為:" + result.toString();3.14 聲明一個有理數(shù)類RationalNum。要求提供有理數(shù)的四則運算,以分?jǐn)?shù)形式輸出有理數(shù)和以浮點數(shù)形式輸出有理數(shù)等方法。有理數(shù)類:RationalNumber.ja

51、va/* * 有理數(shù)類。 * author 段智敏 */class RationalNumber/* numerator分子 */int numerator;/* denominator分母 */int denominator;public RationalNumber()numerator = Integer.MIN_VALUE;denominator = Integer.MIN_VALUE;/* * 構(gòu)造方法。 * param a - 分子。 * param b - 分母。 * throws Exception 分母為0異常。 */public RationalNumber(int a, int b) throws Exceptionif (b = 0)throw new Exception("發(fā)生分母為0的異常,分母不能為0");elsethis.numerator = a;this.denominator = b;/* * 得到分子部分。 * return - 返回分子部分。 */public int getNumerator()return numerator;/* * 得到分母部分。 * return - 返回分母部分。 */public int getDenominator()return denominator;/* * 設(shè)置有理數(shù)的分子,分

溫馨提示

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

最新文檔

評論

0/150

提交評論