Java2实用教程(第四版)课后习题1-8章答案最终_第1页
Java2实用教程(第四版)课后习题1-8章答案最终_第2页
Java2实用教程(第四版)课后习题1-8章答案最终_第3页
Java2实用教程(第四版)课后习题1-8章答案最终_第4页
Java2实用教程(第四版)课后习题1-8章答案最终_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题一(第1章)一、问答题1James Gosling2需3个步骤:1) 用文本编辑器编写源文件。 2) 使用javac编译源文件,得到字节码文件。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)两个字节码,分别是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。【代码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 (S

5、tring args ) char cStart='',cEnd='' for(char c=cStart;c<=cEnd;c+) System.out.print(" "+c); 习题三(第3章)一、问答题1boolean2不可以3boolean4. 不是必须的5结束while语句的执行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循环计算的sum="+sum); for(sum=0,i=1,a=1;i<=20;i+) a=a*(1.0/i); sum=sum+a; System.out.println("使用for循环计算的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. 封装、继承和多态。2当类名由几个单词复合而成时,每个单词的首字母使用大写。3名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首

10、字母使用大写。4属性5行为6用类创建对象时。没有类型7用类创建对象时。8一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。9可以。不可以。10不可以。11一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。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、态和行为改变为自身的状态和行为。6不可以。7Abstract类。8上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。上转型对象可以访问子类继承或隐藏的成员变量,可以调用子类继承的方法或子类重写的实例方法。9通过重写方法。10面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地交给抽象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。二、选择题1C。2D。3CD。4D。5B。6B。7D。8B。9A。三、阅读程序1【代码1】:15.0。【代码2】:8.0。2【代码1】:11。【代码2】:110。3【代码1】:98.0。【代码2】:12。【代码3】:98.0

15、。【代码4】:9。4【代码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("现在播放"+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可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。4不可以。5可以。二、选择题1D。2AB。3A。三、阅读

18、程序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.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会发生NumberFormatException异常。二、选择题1A。2B。3B。4D。5C。三、阅读程序1【代码】:苹果。2【代码】:Love:Game。3【代码1】:15。【代码2】: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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论