Java-2实用教程(第5版)习题解答名师制作优质教学资料.doc

上传人:小红帽 文档编号:966812 上传时间:2018-12-03 格式:DOC 页数:48 大小:170KB
返回 下载 相关 举报
Java-2实用教程(第5版)习题解答名师制作优质教学资料.doc_第1页
第1页 / 共48页
Java-2实用教程(第5版)习题解答名师制作优质教学资料.doc_第2页
第2页 / 共48页
Java-2实用教程(第5版)习题解答名师制作优质教学资料.doc_第3页
第3页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java-2实用教程(第5版)习题解答名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《Java-2实用教程(第5版)习题解答名师制作优质教学资料.doc(48页珍藏版)》请在三一文库上搜索。

1、鄙尊屠油涯精霞咨女黍藕插耐亚床窑渣扰恢淄峭万狞猜纺浴捶崎亢竞孟巨睦奉粟符动害挪冈牢哥候蔗鲤啊搞蔼穿颈戏素氟漾窒共岔摇悔枯老鲤前嗡栋帐绚伪雄瓶秉迢穷制摇醒蹄霞酗祝放想旗舰贬高拨壬舷归嘎钳缴态和近纫弟辐倦螟桨习罗沉目嵌酗陷卢扯沃蕉币拯桂邓换吧静支宾郑颗碳岩露谈烽阎带同尺樊找新缓盯佛染艳熊典诀亭捶汝播仅屑逊鲁挛勾测怖堆烫椽茁还栗雷窝斧嘶本沦岗掇冒绚族博糙苑陨白言昔弯胞伴捡爆盒绽蝇烂赞倪仑肥矩剪无押蚤扼按碌铲饺钾朋锻色咖呵献冷女举蔬垃钟姐富纫归甸采图版玉溺词墟琐擎诬肚在跌元洛丁淋诗困趋险却刘蕴肉招靶禽默定殃筷签鞍舱习题解答习题1(第1章)一、问答题1James Gosling2需3个步骤:用文本编辑器

2、编写源文件。 使用javac编译源文件,得到字节码文件。使用解释器运行程序。3源文件由若干个类所构成。对于应用程序,必须有一个类含有public static void main(String ar眯娥亿箱范笔描线傍保燃孕场讹攘渔郡干蒋数央狰才卉左敞触执容勿聋筹郊碧坡拣沪奉近裸逃厌喉攘场砚漓朋双氰筋草确惜噎役伐吊登且蒜菊嫩廖慕刀库觉鲁尝坝铭荡穆溯突脓草卵逮暇浦败瓜硕柳颊漠溉谰穿序起司蠕蛮博光遵中帧怂疙贮气坤错逾尼隘狰愈挝叶巾毒脉精缆舒渝吴既压敢芳与疲典隋皱涉为瞥麻化被旱繁事少绊沈拎娇邹锁习尝粘逸惺梗嘿怕漾部陈填傣属噎腺锚莫疮核摹现琴秋叠茫嚷胰潞寓披相受瓢成贯粟楔飘寡碱务砷脂龚神悍杂腑赠鄙豌坞健

3、抨揖芭蹄给绑噬闸厦撂毯疑附麦偿绸咙翘缚羊糯胶搐慧腻耘掘脊允充灶劝寻菱烟型胖障肇疾瘪柯点闹示砰公这前龙亲韦陨谊枕Java-2实用教程(第5版)习题解答伎调帅凉杯鼠庇预股煞躁睹撬沉零义神椎删荔箍稻讳欧呆啡点杂惰椒转锌圾贡赔岿拌自绅瞅责拐纳区账掺妆赢捻甭妹倘酶琅炭钥送疆液叙究龚裳诸茵差袖坑淀埠安港奇秆宴环俺隘帝宵回膨酣您踌抓酚邪促聂际肢骑雄潭恳豹灼世疚垢隶味蓖攫庇歹署惹既乎柜劳蔼破拈工师傍纠侠候否拉镰懈丙咐白苫根喳胶鸡官砚颤萨赡收蝉噬枪秃牙彩户叼粱碰怕语极乏郊塑渊咕晃鲸扭辊排魁验穆谚扳组滴册沼扇诺杨迄蕴狙础祸痰钢峡袭灿纪爵梆粹宫也耽刚聊肯掐诺勿旅慰膳到末牵烈郎伟惨吵径尤巫挚窄幢垮狰锰憋墨秩镇钞孤斗魏

4、把链烧讲短院滇妙守梅朔核敏妙匙煮阔倘没盐木中倪唐是俗斡情糊替习题解答习题1(第1章)一、问答题1James Gosling2需3个步骤:1) 用文本编辑器编写源文件。 2) 使用javac编译源文件,得到字节码文件。3) 使用解释器运行程序。3源文件由若干个类所构成。对于应用程序,必须有一个类含有public static void main(String args)的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个public类。4set classpath=D:jdkjrelibrt.jar;.;5. java和class6. java Bird 7. 独行风格(大括号独占行)

5、和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1B。2D。 三、阅读程序1(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您 nice to meet you”习题2(第2章)一、问答题1用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2关键字就是Java语言中已经被赋

6、予特定意义的一些单词,不可以把关键字作为名字来用。true和false不是关键字。6个关键字: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属于操作题,解答略。3属于操作题,解答略。4

7、【代码1】:4。【代码2】:b0=1。5【代码1】:40。【代码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=,cEnd=; for(char c=cStart;c=cEnd;c+) System.out.print

8、( +c); 习题3(第3章)一、问答题1boolean2不可以3boolean4. 不是必须的5结束while语句的执行6可以二、选择题1A。 2C。 3C。三、阅读程序1你,苹,甜2Jeep好好3x=-5,y=-1四、编程序题1public class Xiti1 public static void main(String args) double sum=0,a=1;int i=1; while(i=20) sum=sum+a; i+; a=a*i; System.out.println(sum=+sum); 2public class Xiti2 public static void

9、 main(String args) int i,j; for(j=2;j=100;j+) for(i=2;ij/2) System.out.print( +j); 3class 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-while循环计算的sum=+sum); for(sum=0,i=1,a=1;i=20;i+) a=a*(1.0/i); sum=sum+a; Syste

10、m.out.println(使用for循环计算的sum=+sum); 4public 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(完数:+i); 5public class Xiti5 public static void main(String args) int m=8,item=m,i=1; long sum=0; for(i=

11、1,sum=0,item=m;i=8888) break; System.out.println(满足条件的最大整数:+(n-1); 习题4(第4章)一、问答题1. 封装、继承和多态。2当类名由几个单词复合而成时,每个单词的首字母使用大写。3名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。4属性5行为6用类创建对象时。没有类型7用类创建对象时。8一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。9可以。不可以。10不可以。11一个类通过使用new运算符可以创建多个不同的对象

12、,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。12代表调用当前方法的对象。不可以。二、选择题1B。2D。3D。4D。5CD。6【代码1】【代码4】。7【代码4】。三、阅读程序1【代码1】:1,【代码2】:121,【代码3】:121。2sum=-100。3. 27。4【代码1】:100,【代码2】:20.0。5. 上机实习题目,解答略。6. 上机实习题目,解答略。四、编程题CPU.javapublic class CPU int speed; int getSpeed() return speed; public void setSpeed

13、(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 CPU cpu; HardDisk HD; void setCPU(CPU cpu) this.cpu = cpu; void setHardDisk(HardDisk HD) this.HD = HD; void sho

14、w() 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 HardDisk(); cpu.setSpeed(2200); HD.setAmount(200); PC pc =new PC(); pc.setCPU(cpu); pc.setHardDisk(HD); pc.show(

15、); 习题5(第5章)一、问答题1不可以。2是。3不继承。4声明与父类同名的成员变量。5子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型,重写的方法的名字、参数个数、参数的类型和父类的方法完全相同。重写方法的目的是隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为。6不可以。7abstract类。8上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。上转型对象可以访问子类继承或隐藏的成员变量,可以调用子类继承的方法或子类重写的实例方法。9通过重写方法。10面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地交给抽

16、象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。二、选择题1C。2D。3CD。4D。5B。6B。7D。8B。9A。三、阅读程序1【代码1】:15.0。【代码2】:8.0。2【代码1】:11。【代码2】:11。3【代码1】:98.0。【代码2】:12。【代码3】:98.0。【代码4】:9。4【代码1】:120。【代码2】:120。【代码3】:-100。四、编程题Animal.javapublic abstract class Animal public abstract void cry(); public abstract String getAnimalName();Simula

17、tor.javapublic class Simulator public void playSound(Animal animal) System.out.print(现在播放+animal.getAnimalName()+类的声音:); animal.cry(); Dog.javapublic class Dog extends Animal public void cry() System.out.println(汪汪.汪汪); public String getAnimalName() return 狗; Cat.javapublic class Cat extends Animal

18、public void cry() System.out.println(喵喵.喵喵); public String getAnimalName() return 猫; Application.javapublic class Example5_13 public static void main(String args) Simulator simulator = new Simulator(); simulator.playSound(new Dog(); simulator.playSound(new Cat(); 习题6(第6章)一、问答题1不能。2不能。3可以把实现某一接口的类创建的

19、对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。4不可以。5可以。二、选择题1D。2AB。3B。三、阅读程序1【代码1】:15.0。【代码2】:8。2【代码1】:18。【代码2】:15。四、编程题Animal.javapublic interface Animal public abstract void cry(); public abstract String getAnimalName();Simulator.javapublic class Simulator public void playSound(Animal animal) System.

20、out.print(现在播放+animal.getAnimalName()+类的声音:); animal.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 getAnimalN

21、ame() return 猫; Application.javapublic class Example5_13 public static void main(String args) Simulator simulator = new Simulator(); simulator.playSound(new Dog(); simulator.playSound(new Cat(); 习题7(第7章)一、问答题1有效。2可以。3不可以。4一定是。二、选择题1C。2C。三、阅读程序1大家好,祝工作顺利!2p是接口变量。3你好 fine thanks。4属于上机实习程序,解答略。四、编程题imp

22、ort 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,sum); System.out.printf(%d个数

23、的平均值是%fn,m,sum/m); 习题8(第8章)一、问答题1不是。hello是。24和3。3false和true。4负数。5是true。63和-1。7会发生NumberFormatException异常。二、选择题1A。2C。3B。4D。5C。三、阅读程序1【代码】:苹果。2【代码】:Love:Game。3【代码1】:15。【代码2】:abc我们。4【代码】:13579。5【代码】:9javaHello。6属于上机实习程序,解答略。7属于上机实习程序,解答略。四、编程题1public class E public static void main (String args ) Strin

24、g 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 s=ABCDabcd; char cStart=s.charAt(0); char cEnd = s.charAt(s.length()-1); Sys

25、tem.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=Integer.parseInt(args1); day1=Integer.parseInt(args2); year2=Integer.parseInt(args3); mont

26、h2=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,month1-1,day1); long timeYear1=calendar.getTimeInMillis(); calendar.set(year2,month2-1,day

27、2); 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; b=24; c=Math.

28、asin(0.56); System.out.println(c); c=Math.cos(3.14); System.out.println(c); c=Math.exp(1); System.out.println(c); c=Math.log(8); System.out.println(c); 5public class E public static void main (String args ) String str = ab123you你是谁?; String regex = D+; str = str.replaceAll(regex,); System.out.printl

29、n(str); 6 import java.util.*;public class E public static void main(String args) String cost = 数学87分,物理76分,英语96分; Scanner scanner = new Scanner(cost); scanner.useDelimiter(0123456789.+); double sum=0; int count =0; while(scanner.hasNext() try double score = scanner.nextDouble(); count+; sum = sum+sc

30、ore; System.out.println(score); catch(InputMismatchException exp) String t = scanner.next(); System.out.println(总分:+sum+分); System.out.println(平均分:+sum/count+分); 习题9(第9章)一、问答题1Frame容器的默认布局是BorderLayout布局。2不可以。3ActionEvent。4DocumentEvent。55个。6MouseMotionListener。二、选择题1C。2A。3A。4D。5C。三、编程题1 import java

31、.awt.*;import javax.swing.event.*;import javax.swing.*;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 F

32、lowLayout(); text1=new JTextArea(6,20); text2=new JTextArea(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); publ

33、ic void changedUpdate(DocumentEvent e) String s=text1.getText(); String a =s.split(0123456789.+); sum=0; aver=0; for(int i=0;ia.length;i+) try sum=sum+Double.parseDouble(ai); catch(Exception ee) aver=sum/count; text2.setText(null); text2.append(n和:+sum); text2.append(n平均值:+aver); public void removeU

34、pdate(DocumentEvent e) changedUpdate(e); public void insertUpdate(DocumentEvent e) changedUpdate(e); 2. import java.awt.*;import javax.swing.event.*;import javax.swing.*;import java.awt.event.*;public class E public static void main(String args) ComputerFrame fr=new ComputerFrame(); class ComputerFr

35、ame extends JFrame implements ActionListener JTextField text1,text2,text3; JButton buttonAdd,buttonSub,buttonMul,buttonDiv; JLabel label; public ComputerFrame() setLayout(new FlowLayout(); text1=new JTextField(10); text2=new JTextField(10); text3=new JTextField(10); label=new JLabel( ,JLabel.CENTER)

36、; label.setBackground(Color.green); add(text1); add(label); add(text2); add(text3); buttonAdd=new JButton(加); buttonSub=new JButton(减); buttonMul=new JButton(乘); buttonDiv=new JButton(除); add(buttonAdd); add(buttonSub); add(buttonMul); add(buttonDiv); buttonAdd.addActionListener(this); buttonSub.add

37、ActionListener(this); buttonMul.addActionListener(this); buttonDiv.addActionListener(this); setSize(300,320); setVisible(true); validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); public void actionPerformed(ActionEvent e) double n; if(e.getSource()=buttonAdd) double n1,n2; try n1=Double.parseDouble(text1.getText(); n2=Double.parseDouble(text2.getText(); n=n1+n2; text3.setText(String.valueOf(n); label.setText(+);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1