java2實(shí)用教程第4版習(xí)題解答要點(diǎn)_第1頁
java2實(shí)用教程第4版習(xí)題解答要點(diǎn)_第2頁
java2實(shí)用教程第4版習(xí)題解答要點(diǎn)_第3頁
java2實(shí)用教程第4版習(xí)題解答要點(diǎn)_第4頁
java2實(shí)用教程第4版習(xí)題解答要點(diǎn)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、習(xí)題解答習(xí)題一(第 1 章)一、問答題1 James Gosling2需 3 個(gè)步驟:1) 用文本編輯器編寫源文件。2) 使用 javac 編譯源文件 ,得到字節(jié)碼文件。3) 使用解釋器運(yùn)行程序。3 由類所構(gòu)成,應(yīng)用程序必須有一個(gè)類含有public static void main(String args) 方法,含有該方法的類稱為應(yīng)用程序的主類。不一定,但最多有一個(gè) public 類。4 set classpath=D:jdkjrelibrt.jar;.;5. java 和 class6. java Bird7. 獨(dú)行風(fēng)格(大括號(hào)獨(dú)占行)和行尾風(fēng)格(左大擴(kuò)號(hào)在上一行行尾,右大括號(hào)獨(dú)占行)二、

2、選擇題1. B。2. D。三、閱讀程序1 . ( a) Person.java。 ( b)兩個(gè)字節(jié)碼,分別是 Person.class 和 Xiti.class。 ( c)得到 “ NoSuchMethodError ”,得到“ NoClassDefFoundError: Xiti/class ”,得到“您好,很高興認(rèn) 識(shí)您 nice to meet you”習(xí)題二(第 2 章)一、問答題1. 用來標(biāo)識(shí)類名、 變量名、 方法名、類型名、數(shù)組名、 文件名的有效字符序列稱為標(biāo)識(shí)符。 標(biāo)識(shí)符由字母、 下劃線、 美元符號(hào)和數(shù)字組成, 第一個(gè)字符不能是數(shù)字。 false 不是標(biāo)識(shí)符。2. 關(guān)鍵字就是 J

3、ava 語言中已經(jīng)被賦予特定意義的一些單詞,不可以把關(guān)鍵字作為名字來 用。不是關(guān)鍵字。 class implements interface enum extends abstract。3. boolean, char, byte, short, int, long, float, double。4. float 常量必須用 F 或 f 為后綴。 double 常量用 D 或 d 為后綴,但允許省略后綴。5. 維數(shù)組名.length。二維數(shù)組名.length。二、選擇題1. C。 2. ADF。 3. B。 4. BE。 5.【代碼 2】【代碼 3】【代碼 4】【代碼 5】。 6. B。三、閱

4、讀或調(diào)試程序 1屬于操作題,解答略。 2屬于操作題,解答略。 3屬于操作題,解答略。4【代碼 1】: 4?!敬a 2】:b0=1 。5【代碼 1】: 40?!敬a 2】: 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 (String args ) char cStart

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

6、a*i; System.out.println(sum=+sum);2 public class Xiti2 public static void main(String args) int i,j; for(j=2;j=100;j+) for(i=2;ij/2) System.out.print( +j); 3 class Xiti3 public static void 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-whi

7、le 循環(huán)計(jì)算的 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)計(jì)算的 sum=+sum);4 public class Xiti4 public static void main(String args) int sum=0,i,j;for(i=1;i=1000;i+) for(j=1,sum=0;ji;j+) if(i%j=0) sum=sum+j;if(sum=i)System.out.println( 完數(shù) :+i);5 public class Xit

8、i5 public static void main(String args) int m=8,item=m,i=1;long sum=0;for(i=1,sum=0,item=m;i=8888)break;System.out.println( 滿足條件的最大整數(shù) :+(n-1);習(xí)題四(第 4 章)一、問答題1. 封裝、繼承和多態(tài)。2當(dāng)類名由幾個(gè)單詞復(fù)合而成時(shí),每個(gè)單詞的首字母使用大寫。3 名字的首單詞的首字母使用小寫,如果變量的名字由多個(gè)單詞組成,從第2 個(gè)單詞開始的其它單詞的首字母使用大寫。4屬性5行為6用類創(chuàng)建對(duì)象時(shí)。沒有類型 7用類創(chuàng)建對(duì)象時(shí)。8 一個(gè)類中可以有多個(gè)方法具有相同的名

9、字,但這些方法的參數(shù)必須不同,即或者是參 數(shù)的個(gè)數(shù)不同,或者是參數(shù)的類型不同??梢?。9 可以 。 不可以。10不可以。11一個(gè)類通過使用 new 運(yùn)算符可以創(chuàng)建多個(gè)不同的對(duì)象, 不同的對(duì)象的實(shí)例變量將被分 配不同的內(nèi)存空間。所有對(duì)象的類變量都分配給相同的一處內(nèi)存,對(duì)象共享類變量。 12代表調(diào)用當(dāng)前方法的對(duì)象。不可以。二、選擇題1. Bo 2. Db 3. Do 4. Db 5. CD 6.【代碼1】【代碼4】。7 .【代碼4】。三、閱讀程序1.【代碼 1】:1,【代碼 2】:121,【代碼 3】:121o2.sum=-100 o3.27o4.【代碼 1 】 :100,【代碼 2】: 20.0o

10、5.上機(jī)實(shí)習(xí)題目,解答略。6.上機(jī)實(shí)習(xí)題目,解答略。四、編程題CPU.java public 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;PC.javapublic class PC

11、 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(String args) CPU cpu = new CPU();HardDisk HD=new Hard

12、Disk();cpu.setSpeed(2200);HD.setAmount(200);PC pc =new PC();pc.setCPU(cpu);pc.setHardDisk(HD);pc.show();習(xí)題五(第 5 章)一、問答題1不可以。2是。3不繼承。4聲明與父類同名的成員變量。5子類重寫的方法類型和父類的方法的類型一致或者是父類的方法的類型的子類型,重 寫的方法的名字、參數(shù)個(gè)數(shù)、參數(shù)的類型和父類的方法完全相同。重寫方法的目的是隱藏 繼承的方法,子類通過方法的重寫可以把父類的狀態(tài)和行為改變?yōu)樽陨淼臓顟B(tài)和行為。 6不可以。7 Abstract 類。8上轉(zhuǎn)型對(duì)象不能操作子類新增的成員變

13、量,不能調(diào)用子類新增的方法。上轉(zhuǎn)型對(duì)象可 以訪問子類繼承或隱藏的成員變量,可以調(diào)用子類繼承的方法或子類重寫的實(shí)例方法。 9通過重寫方法。10面向抽象編程目的是為了應(yīng)對(duì)用戶需求的變化,核心是讓類中每種可能的變化對(duì)應(yīng)地 交給抽象類的一個(gè)子類類去負(fù)責(zé),從而讓該類的設(shè)計(jì)者不去關(guān)心具體實(shí)現(xiàn)。二、選擇題1. C。2. D。3. CD。4. D。5. B。6. B。7. D。8. B。9. A。三、閱讀程序1.【代碼 1】:15.0 。 【代碼 2】: 8.0。2.【代碼 1】:11?!敬a 2】:11。3.【代碼 1】:98.0 。 【代碼 2】:12 。【代碼 3】: 98.0。【代碼 4】: 9。4.

14、【代碼 1】:120 。 【代碼 2】: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( 現(xiàn)在播放 +animal.getAnimalName()+ 類的聲音 :); animal.cry();Dog.ja

15、vapublic 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 貓 ;Application.javapublic class Example5_13 public stat

16、ic void main(String args) Simulator simulator = new Simulator();simulator.playSound(new Dog();simulator.playSound(new Cat();習(xí)題六(第 6 章)一、問答題1不能。2不能。3可以把實(shí)現(xiàn)某一接口的類創(chuàng)建的對(duì)象的引用賦給該接口聲明的接口變量中。那么該接 口變量就可以調(diào)用被類實(shí)現(xiàn)的接口中的方法。4不可以。5可以。二、選擇題1. D。2. AB。3. B。三、閱讀程序1. 【代碼 1】: 15.0 。 【代碼 2】:8。2. 【代碼 1】: 18 。 【代碼 2】: 15。四、編程

17、題Animal.javapublic interface Animal public abstract void cry();public abstract String getAnimalName();Simulator.javapublic class Simulator public void playSound(Animal animal) System.out.print( 現(xiàn)在播放 +animal.getAnimalName()+ 類的聲音 :); animal.cry();Dog.javapublic class Dog implements Animal public void

18、 cry() System.out.println( 汪汪 .汪汪 );public String getAnimalName() return 狗 ;Cat.javapublic class Cat implements Animal public void cry() System.out.println( 喵喵 .喵喵 );public String getAnimalName() return 貓 ;Application.javapublic class Example5_13 public static void main(String args) Simulator simula

19、tor = new Simulator();simulator.playSound(new Dog();simulator.playSound(new Cat();習(xí)題七(第 7 章)一、問答題 1有效。2可以。3不可以。4一定是。二、選擇題1. C。2. C。三、閱讀程序1 . 大家好,祝工作順利!2. p 是接口變量。3. 你好 fine thanks 。4. 屬于上機(jī)實(shí)習(xí)程序,解答略。四、編程題import java.util.*;public class E public static void main (String args )Scanner reader = new Scann

20、er(System.in); double sum = 0;int m = 0;while(reader.hasNextDouble() double x = reader.nextDouble(); assert x 100:數(shù)據(jù)不合理 ; m = m+1; sum = sum+x;System.out.printf(%d 個(gè)數(shù)的和為 %fn,m,sum); System.out.printf(%d 個(gè)數(shù)的平均值是 %fn,m,sum/m);習(xí)題八(第 8 章)一、問答題1. 不是。 hello 是。2. 4 和 3。3. false 和 true。4. 負(fù)數(shù)。5. 是 true。6. 3

21、和 -1。7. 會(huì)發(fā)生 NumberFormatException 異常。二、選擇題1. A 。 2. C。 3. B。 4. D。 5. C。 三、閱讀程序 1【代碼】:蘋果。2. 【代碼】:Love:Game。3【 代碼 1】: 15?!?代碼 2】: abc 我們。4. 【 代碼】: 13579 。5. 【 代碼】: 9javaHello 。6. 屬于上機(jī)實(shí)習(xí)程序,解答略。7. 屬于上機(jī)實(shí)習(xí)程序,解答略。四、編程題1. public class E public static void main (String args ) String s1,s2,t1=ABCDabcd; s1=t1

22、.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 s=ABCDabcd;char cStart=s.charAt(0); char cEnd = s.charAt(s.length()-1); System.out.println(cStart); Syste

23、m.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=Integer.parseInt(args1); day1=Integer.parseInt(args2); year2=Integer.parseInt(args3);month2=Integer.parseInt(args4); day2=

24、Integer.parseInt(args5); catch(NumberFormatException e) year1=2012;monfhluadayX-year2M2mmonih2M0 八day2H_xica-endar ca-endarMca-endar.gei-nss-nceo八 ca-endar.seQeaz-monihr-day)八 -Ong HmeYeazMca-endar.gefnme-nMi 三 sp Ca-endar.s2.(year2-monih2 匕-day2)八 -Ong HmeYear2Mca-endar.gefnme-nMi 三 sp -Ong 盤麺刃達(dá) MM

25、aih.abs(HmeYearrHmeYear2)/u000*60*60*24)xsystem .01|12.-|1(-+匕63二+-曲-+monihl+- 口 -+day+= B-+心6里2+-曲=+0102.|12+- 口 =+day2+= BFBS-+盤麺刃達(dá) +-刃-= import java.uii-.* pub=c c-ass E 宀pub=c SS-HC void main (siring args- 一)宀 doub-e aMO-bMOoHc?226Olb24-CMMaih.asin(0.56)八 sysCDm.oui.prini-n(c)八 CMMaihoos(34)八 sy

26、sCDm.oui.prini-n(c)八 CMMaih.expu)八 sysCDm.oui.prini-n(c)八 CMMaihog(8)八 sysCDm.oui.prini-n(c)八pub=c c-ass E 宀 pub=c SS-HC void main (siring args- 一)宀ss.ng s=ru =ab23youw徊w -ss.ng regex H -二 D+-八 sir H snrep-aceA=(regex=)八 sys0m.ouhprini-n(s=r)八 import javacHL* pub=c c-ass E 宀 pub=c SS-HC void mainrin

27、g args=)宀 ss.ng eosin-達(dá)87s 76翳stt96-Scanner scanner = new Scanner(cost);scanner.useDelimiter(F0123456789.+);double sum=0;int count =0; while(scanner.hasNext()try double score = scanner.nextDouble(); count+; sum = sum+score; System.out.println(score);catch(InputMismatchException exp)String t = scanne

28、r.next();System.out.println( 總分 :+sum+ 分); System.out.println( 平均分 :+sum/count+ 分);習(xí)題九(第 9 章)一、問答題1 Frame 容器的默認(rèn)布局是 BorderLayout 布局。 2不可以。3 ActionEvent 。4 DocumentEvent 。5 5 個(gè)。6 MouseMotionListener 。二、選擇題1. C。2. A。3. A。4. D。5. C。三、編程題1. import java.awt.*;import javax.swing.event.*;import javax.swing.

29、*;import java.awt.event.*;public class E public static void main(String args) Computer fr=new Computer();class Computer extends JFrame implements DocumentListener JTextArea text1,text2;int count=1;double sum=0,aver=0;Computer() setLayout(new FlowLayout(); text1=new JTextArea(6,20); text2=new JTextAr

30、ea(6,20); add(new JScrollPane(text1); add(new JScrollPane(text2); text2.setEditable(false); (text1.getDocument().addDocumentListener(this); setSize(300,320);setVisible(true);validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);public void changedUpdate(DocumentEvent e) String s=text1.getTex

31、t();String a =s.split(F0123456789.+);sum=0;aver=0;for(int i=0;i=0) m=m-1; random.seek(m); int c=random.readByte(); if(c=0)System.out.print(char)c);else m=m-1;random.seek(m); byte cc=new byte2; random.readFully(cc);System.out.print(new String(cc);catch(Exception exp)2. import java.io.*;public class E

32、 public static void main(String args ) File file=new File(E.java);File tempFile=new File(temp.txt);try FileReader inOne=new FileReader(file);BufferedReader inTwo= new BufferedReader(inOne); FileWriter tofile=new FileWriter(tempFile);BufferedWriter out= new BufferedWriter(tofile);String s=null;int i=

33、0;s=inTwo.readLine();while(s!=null) i+;out.write(i+ +s);out.newLine();s=inTwo.readLine();inOne.close();inTwo.close();out.flush();out.close();tofile.close();catch(IOException e)3. import java.io.*;import java.util.*;public class E public static void main(String args) File file = new File(a.txt);Scann

34、er sc = null;double sum=0;int count = 0;try sc = new Scanner(file);sc.useDelimiter(F0123456789.+);while(sc.hasNext()try double price = sc.nextDouble(); count+;sum = sum+price;System.out.println(price);catch(InputMismatchException exp)String t = sc.next();System.out.println( 平均價(jià)格 :+sum/count);catch(E

35、xception exp)System.out.println(exp);習(xí)題十一(第 11 章)、問答題1(1)添加數(shù)據(jù)源,(2)選擇驅(qū)動(dòng)程序, (3)命名數(shù)據(jù)源名稱。2不必使用數(shù)據(jù)名稱。3減輕數(shù)據(jù)庫內(nèi)部 SQL 語句解釋器的負(fù)擔(dān)。4事務(wù)由一組 SQL 語句組成, 所謂事務(wù)處理是指: 應(yīng)用程序保證事務(wù)中的 SQL 語句要么 全部都執(zhí)行,要么一個(gè)都不執(zhí)行。5. (1 )用setAutoCommit()方法關(guān)閉自動(dòng)提交模式,(2 )用commit。方法處理事務(wù),(3)用 rollback() 方法處理事務(wù)失敗。四、編程題1. import java.sql.*;import java.util.

36、*;public class E public static void main(String args) Query query=new Query();String dataSource=myData;String tableName=goods;Scanner read=new Scanner(System.in);System.out.print( 輸入數(shù)據(jù)源名 :);dataSource = read.nextLine(); System.out.print( 輸入表名 :);tableName = read.nextLine(); query.setDatasourceName(d

37、ataSource);query.setTableName(tableName);query.setSQL(SELECT * FROM +tableName); query.inputQueryResult();class Query String datasourceName=;/ 數(shù)據(jù)源名String tableName=;/表名String SQL;/SQL 語句public Query() try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e) System.out.print(e)

38、;public void setDatasourceName(String s) datasourceName = s.trim();public void setTableName(String s) tableName = s.trim();public void setSQL(String SQL) this.SQL = SQL.trim();public void inputQueryResult() Connection con; Statement sql; ResultSet rs; try String uri = jdbc:odbc:+datasourceName;String id = ;String password = ;con = DriverManager.getConnection(uri,id,password); DatabaseMetaData metadata = con.getMetaData();ResultSet rs1 = metadata.getColumns(null,null,tableName,null); int 字段個(gè)數(shù) = 0;while(rs1.next()

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論