Java2實用教程(第四版)課后習題1-8章答案——昊爺_第1頁
Java2實用教程(第四版)課后習題1-8章答案——昊爺_第2頁
Java2實用教程(第四版)課后習題1-8章答案——昊爺_第3頁
Java2實用教程(第四版)課后習題1-8章答案——昊爺_第4頁
Java2實用教程(第四版)課后習題1-8章答案——昊爺_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、習題一(第1章)一、問答題1James Gosling2需3個步驟:1) 用文本編輯器編寫源文件。 2) 使用javac編譯源文件,得到字節(jié)碼文件。3) 使用解釋器運行程序。3由類所構成,應用程序必須有一個類含有public static void main(String args)方法,含有該方法的類稱為應用程序的主類。不一定,但最多有一個public類。4Path設置為:D:jdkjdk1.7.0_40bin;(以安裝的1.7.0_40版本為例。)ClassPath設置為:set classpath=D:jdkjrelibrt.jar;.;5. .java和.class6. java Bi

2、rd 7. 獨行風格(大括號獨占行)和行尾風格(左大擴號在上一行行尾,右大括號獨占行)二、選擇題1B。2D。 三、閱讀程序1(a)Person.java。(b)兩個字節(jié)碼,分別是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高興認識您 nice to meet you”習題二(第2章)一、問答題1用來標識類名、變量名、方法名、類型名、數組名、文件名的有效字符序列稱為標識符。標識符由字母、下劃線、美元符號和數字組成,第一個字符不能是數字。false不是標識符

3、。2關鍵字就是Java語言中已經被賦予特定意義的一些單詞,不可以把關鍵字作為名字來用。不是關鍵字。class implements interface enum extends abstract。3boolean,char,byte,short,int,long,float,double。4float常量必須用F或f為后綴。double常量用D或d為后綴,但允許省略后綴。5一維數組名.length。二維數組名.length。二、選擇題1C。2ADF。3B。4BE。5【代碼2】【代碼3】【代碼4】【代碼5】。6B。三、閱讀或調試程序1低住佐佑佒體佔何佖佗佘余佚佛作佝佞佟你佡佢2答案是:234&l

4、t;468我輸出結果后不回車我輸出結果后自動回車到下一行x+y= 6663屬于操作題,解答略。4【代碼1】:4。【代碼2】:b0=1。5【代碼1】:40?!敬a2】:7四、編寫程序1. public class E public static void main(String args) System.out.println(int)'你'); System.out.println(int)'我'); System.out.println(int)'他'); 2. public class E public static void main (S

5、tring args ) char cStart='',cEnd='' for(char c=cStart;c<=cEnd;c+) System.out.print(" "+c); 習題三(第3章)一、問答題1boolean2不可以3boolean4. 不是必須的5結束while語句的執(zhí)行6可以二、選擇題1A。 2C。 3C。三、閱讀程序1你,蘋,甜2Jeep好好3x=-5,y=-1四、編程序題1public class jiecheng public static void main(String args) double sum=0

6、,a=1;int i=1; while(i<=20) sum=sum+a; i+; a=a*i; System.out.println("sum="+sum); 2public class sushu public static void main(String args) int i,j; for(j=2;j<=100;j+) for(i=2;i<=j/2;i+) if(j%i=0) break; if(i>j/2) System.out.print(" "+j); 3class qiuhe public static void

7、 main(String args) double sum=0,a=1,i=1; do sum=sum+a; i+; a=(1.0/i)*a; while(i<=20); System.out.println("使用do-while循環(huán)計算的sum="+sum); for(sum=0,i=1,a=1;i<=20;i+) a=a*(1.0/i); sum=sum+a; System.out.println("使用for循環(huán)計算的sum="+sum); 4public class wanshu public static void main(St

8、ring args) int sum=0,i,j; for(i=1;i<=1000;i+) for(j=1,sum=0;j<i;j+) if(i%j=0) sum=sum+j; if(sum=i) System.out.println("完數:"+i); 5public class Xiti5 public static void main(String args) int m=8,item=m,i=1; long sum=0; for(i=1,sum=0,item=m;i<=10;i+) sum=sum+item; item=item*10+m; Sys

9、tem.out.println(sum); 6 public class Xiti6 public static void main(String args) int n=1; long sum=0; while(true) sum=sum+n; n+; if(sum>=8888) break; System.out.println("滿足條件的最大整數:"+(n-1); 習題四(第4章)一、問答題1. 封裝、繼承和多態(tài)。2當類名由幾個單詞復合而成時,每個單詞的首字母使用大寫。3名字的首單詞的首字母使用小寫,如果變量的名字由多個單詞組成,從第2個單詞開始的其它單詞的首

10、字母使用大寫。4屬性5行為6用類創(chuàng)建對象時。沒有類型7用類創(chuàng)建對象時。8一個類中可以有多個方法具有相同的名字,但這些方法的參數必須不同,即或者是參數的個數不同,或者是參數的類型不同??梢浴?可以。不可以。10不可以。11一個類通過使用new運算符可以創(chuàng)建多個不同的對象,不同的對象的實例變量將被分配不同的內存空間。所有對象的類變量都分配給相同的一處內存,對象共享類變量。12代表調用當前方法的對象。不可以。二、選擇題1B。2D。3D。4D。5CD。6【代碼1】【代碼4】。7【代碼4】。三、閱讀程序1【代碼1】:1,【代碼2】:121,【代碼3】:121。2sum=-100。3. 27。4【代碼1】

11、:100,【代碼2】:20.0。5. 上機實習題目,解答略。6. 上機實習題目,解答略。四、編程題CPU.javapublic class CPU int speed; int getSpeed() return speed; public void setSpeed(int speed) this.speed = speed; HardDisk.javapublic class HardDisk int amount; int getAmount() return amount; public void setAmount(int amount) this.amount = amount;

12、PC.javapublic class PC CPU cpu; HardDisk HD; void setCPU(CPU cpu) this.cpu = cpu; void setHardDisk(HardDisk HD) this.HD = HD; void show() System.out.println("CPU速度:"+cpu.getSpeed(); System.out.println("硬盤容量:"+HD.getAmount(); Test.javapublic class Test public static void main(Stri

13、ng args) CPU cpu = new CPU(); HardDisk HD=new HardDisk(); cpu.setSpeed(2200); HD.setAmount(200); PC pc =new PC(); pc.setCPU(cpu); pc.setHardDisk(HD); pc.show(); 習題五(第5章)一、問答題1不可以。2是。3不繼承。4聲明與父類同名的成員變量。5子類重寫的方法類型和父類的方法的類型一致或者是父類的方法的類型的子類型,重寫的方法的名字、參數個數、參數的類型和父類的方法完全相同。重寫方法的目的是隱藏繼承的方法,子類通過方法的重寫可以把父類的狀

14、態(tài)和行為改變?yōu)樽陨淼臓顟B(tài)和行為。6不可以。7Abstract類。8上轉型對象不能操作子類新增的成員變量,不能調用子類新增的方法。上轉型對象可以訪問子類繼承或隱藏的成員變量,可以調用子類繼承的方法或子類重寫的實例方法。9通過重寫方法。10面向抽象編程目的是為了應對用戶需求的變化,核心是讓類中每種可能的變化對應地交給抽象類的一個子類類去負責,從而讓該類的設計者不去關心具體實現。二、選擇題1C。2D。3CD。4D。5B。6B。7D。8B。9A。三、閱讀程序1【代碼1】:15.0?!敬a2】:8.0。2【代碼1】:11?!敬a2】:110。3【代碼1】:98.0?!敬a2】:12?!敬a3】:98.0

15、。【代碼4】:9。4【代碼1】:120?!敬a2】:120。【代碼3】:-100。四、編程題Animal.javapublic abstract class Animal public abstract void cry(); public abstract String getAnimalName();Simulator.javapublic class Simulator public void playSound(Animal animal) System.out.print("現在播放"+animal.getAnimalName()+"類的聲音:"

16、;); animal.cry(); Dog.javapublic class Dog extends Animal public void cry() System.out.println("汪汪.汪汪"); public String getAnimalName() return "狗" Cat.javapublic class Cat extends Animal public void cry() System.out.println("喵喵.喵喵"); public String getAnimalName() return

17、"貓" Application.javapublic class Example5_13 public static void main(String args) Simulator simulator = new Simulator(); simulator.playSound(new Dog(); simulator.playSound(new Cat(); 習題六(第6章)一、問答題1不能。2不能。3可以把實現某一接口的類創(chuàng)建的對象的引用賦給該接口聲明的接口變量中。那么該接口變量就可以調用被類實現的接口中的方法。4不可以。5可以。二、選擇題1D。2AB。3A。三、閱讀

18、程序1【代碼1】:15.0?!敬a2】:8。2【代碼1】:18?!敬a2】:15。四、編程題Animal.javapublic interface Animal public abstract void cry(); public abstract String getAnimalName();Simulator.javapublic class Simulator public void playSound(Animal animal) System.out.print("現在播放"+animal.getAnimalName()+"類的聲音:"); a

19、nimal.cry(); Dog.javapublic class Dog implements Animal public void cry() System.out.println("汪汪.汪汪"); public String getAnimalName() return "狗" Cat.javapublic class Cat implements Animal public void cry() System.out.println("喵喵.喵喵"); public String getAnimalName() return

20、 "貓" Application.javapublic class Example5_13 public static void main(String args) Simulator simulator = new Simulator(); simulator.playSound(new Dog(); simulator.playSound(new Cat(); 習題七(第7章)一、問答題1有效。2可以。3不可以。4一定是。二、選擇題1C。2C。三、閱讀程序1大家好,祝工作順利!2p是接口變量。3你好 fine thanks。4屬于上機實習程序,解答略。四、編程題impo

21、rt java.util.*;public class E public static void main (String args ) Scanner reader = new Scanner(System.in); double sum = 0; int m = 0; while(reader.hasNextDouble() double x = reader.nextDouble(); assert x< 100:"數據不合理" m = m+1; sum = sum+x; System.out.printf("%d個數的和為%fn",m,su

22、m); System.out.printf("%d個數的平均值是%fn",m,sum/m); 習題八(第8章)一、問答題1不是。"hello"是。24(不存在空格是4存在空格是5)和3。3false和true。4負數。5是true。63和-1。7會發(fā)生NumberFormatException異常。二、選擇題1A。2B。3B。4D。5C。三、閱讀程序1【代碼】:蘋果。2【代碼】:Love:Game。3【代碼1】:15?!敬a2】:abc我們。4【代碼】:13579。5【代碼】:9javaHello。6屬于上機實習程序,解答略。7屬于上機實習程序,解答略。

23、四、編程題1public class E public static void main (String args ) String s1,s2,t1="ABCDabcd" s1=t1.toUpperCase(); s2=t1.toLowerCase(); System.out.println(s1); System.out.println(s2); String s3=s1.concat(s2); System.out.println(s3); 2. public class E public static void main (String args ) String

24、s="ABCDabcd" char cStart=s.charAt(0); char cEnd = s.charAt(s.length()-1); System.out.println(cStart); System.out.println(cEnd); 3. import java.util.*;public class E public static void main (String args ) int year1,month1,day1,year2,month2,day2; try year1=Integer.parseInt(args0); month1=Int

25、eger.parseInt(args1); day1=Integer.parseInt(args2); year2=Integer.parseInt(args3); month2=Integer.parseInt(args4); day2=Integer.parseInt(args5); catch(NumberFormatException e) year1=2012; month1=0; day1=1; year2=2018; month2=0; day2=1; Calendar calendar=Calendar.getInstance(); calendar.set(year1,mon

26、th1-1,day1); long timeYear1=calendar.getTimeInMillis(); calendar.set(year2,month2-1,day2); long timeYear2=calendar.getTimeInMillis(); long 相隔天數=Math.abs(timeYear1-timeYear2)/(1000*60*60*24); System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+ year2+"年"+month2+"月"+day2+"日相隔"+相隔天數+"天"); 4. import java.util.*;public class E public static void main (String args ) double a=0,b=0,c=0; a=12;

溫馨提示

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

評論

0/150

提交評論