Java语言程序设计郑莉第五章课后习题答案

Java语言程序设计郑莉第五章课后习题答案
Java语言程序设计郑莉第五章课后习题答案

Java语言程序设计课后习题答案

Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法它有那些基本特征 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用 答:类成员的访问控制符有 public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作; (6)构造方法不能在程序中显式的调用; (7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。 9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法 答: 用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。 10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean). 声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient的例子: Atient april=new Patient(); (“zhangli”) (‘f’);; (330; ; (true); 那么:”+()); ”+()); ”+()); (“weught: ”+());\ ”+()); 声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。 答: public class Patient { private String name; private char sex; private int age; private float weight; private boolean allergies; public void setname(String a) { name=a; } public void setsex(char b) { sex=b; }

java语言程序设计课后习题答案

习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; =str2); ; public class Exercise51{ public static void main(String[] args) throws IOException{ "请输入一个整数:"); InputStreamReader isStream=new InputStreamReader; BufferedReader bfReader=new BufferedReader(isStream); String input=(); int length=()-1; int n=new Integer(input).intValue(); while(length>=0){ int divisor=(int) (10,length); length=length-1; int output=n/divisor; n=n%divisor; ","); } } } 法二:(建议使用) public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; thousand=n/1000%10; hundred=n/100%10; decimal=n/10%10; unit=n%10; "1678包含的数字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } ;

Java语言程序设计 第2版 (郑莉)课后习题答案

Java语言程序设计第2版(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系? 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象! 3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法?它有那些基本特征? 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种?具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用? 答:类成员的访问控制符有public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以 被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点? 答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有); (3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作;

Java语言程序设计(郑莉)第六章课后习题答案

Java语言程序设计 第六章课后习题答案 1.将本章例6-1至6-18中出现的文件的构造方法均改为使用File类对象作为参数实现。 个人理解:File类只能对整文件性质进行处理,而没法通过自己直接使用file.Read()或者是file.write()类似方法对文件内容进行写或者读取。注意:是直接;下面只提供一个例2变化,其他的你自己做,10几道啊,出这题的人真他妈有病。 import java.io.*; public class test6_2{ public static void main(String[] args) throws IOException { String fileName = "D:\\Hello.txt"; File writer=new File(fileName); writer.createNewFile(); BufferedWriter input = new BufferedWriter(new FileWriter(writer)); input.write("Hello !\n"); input.write("this is my first text file,\n"); input.write("你还好吗?\n"); input.close(); } } 运行结果:(电脑系统问题,没法换行,所以一般使用BuffereWriter中newLine()实现换行) 2.模仿文本文件复制的例题,编写对二进制文件进行复制的程序. // CopyMaker类 import java.io.*; class CopyMaker { String sourceName, destName; BufferedInputStream source; BufferedOutputStream dest; int line; //打开源文件和目标文件,无异常返回true private boolean openFiles() {

Java语言程序设计(郑莉)第九章课后习题答案

Java语言程序设计 第九章课后习题答案 1.编写一个程序,该程序绘制一个5×9的网络,使用drawLine方法。 //NetWork类 import java.awt.Graphics; import javax.swing.JFrame; public class NetWork extends JFrame{ public NetWork(){ // 设置窗体大小 this.setSize(130, 130); //设置窗体大小不可改变 this.setResizable(false); // 设置默认关闭方式,关闭窗体的同时结束程序 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 将窗体显示出来 this.setVisible(true); } //横纵格之间都间隔10像素,起点在(20,40) public void paint(Graphics g){ //绘制横向线 for(int i=0;i<=5;i++){ g.drawLine(20, 40+i*10, 110, 40+i*10); } //绘制纵向线 for(int i=0;i<=9;i++){ g.drawLine(20+i*10, 40, 20+i*10, 90); } } } //test9_1类 public class test9_1 { public static void main(String[] args){ new NetWork(); } } 运行结果:

2.编写一个程序,该程序以不同的颜色随机产生三角形,每个三角形用不同的颜色进行填充。//Triangle类 import java.awt.Color; import java.awt.Graphics; import java.util.Random; import javax.swing.JFrame; public class Triangle extends JFrame{ Random rnd = new Random(); //这里定义4个三角形 int[][] x=new int[4][3]; int[][] y=new int[4][3]; int[][] color=new int[4][3]; public Triangle(){ for(int i=0;i<4;i++){ for(int j=0;j<3;j++){ color[i][j]=rnd.nextInt(255); x[i][j]=rnd.nextInt(i*100+100); y[i][j]=rnd.nextInt(i*100+100)+50;//加50像素是为了避免顶到窗体上沿 } } //窗体标题 this.setTitle("随机三角形"); //窗体大小 this.setSize(500,500); //窗体大小不可变 this.setResizable(false); //关闭窗体的同时结束程序 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示窗体

(完整word版)Java语言程序设计(郑莉)第八章课后习题答案

Java语言程序设计 第八章课后习题答案 1.进程和线程有何区别,Java是如何实现多线程的。 答:区别:一个程序至少有一个进程,一个进程至少有一个线程;线程的划分尺度小于进程;进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 Java程序一般是继承Thread 类或者实现Runnable接口,从而实现多线程。 2.简述线程的生命周期,重点注意线程阻塞的几种情况,以及如何重回就绪状态。 答:线程的声明周期:新建-就绪-(阻塞)-运行--死亡 线程阻塞的情况:休眠、进入对象wait池等待、进入对象lock池等待; 休眠时间到回到就绪状态;在wait池中获得notify()进入lock池,然后获得锁棋标进入就绪状态。 3.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000毫秒以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。 (注:两个类,相同一个测试类) //Runnable接口实现的线程runable类 public class runnable implements Runnable { private String city; public runnable() {} public runnable(String city) { this.city = city; } public void run() { for (int i = 0; i < 10; i++) { System.out.println(city); try { //休眠1000毫秒。 Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } // Thread类实现的线程thread类 public class runnable extends Thread { private String city; public runnable() {}

Java语言程序设计(郑莉)第五章课后习题答案

Java语言程序设计 第五章课后习题答案 1.什么是接口?接口起什么作用?接口与抽象类有何区别? 答:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 作用:接口是面向对象的一个重要机制,使用接口可以实现多态继承;接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类型来具体;接口还可以用来实现不同类之间的常量共享。 与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。 2.试编程证明接口中的属性都隐含为static及final,所有的方法都为public。 //定义接口Shape2D interface Shape2D{ double Pi=3.14; double area(); } //Circle类继承接口Shape2D public class Circle implements Shape2D{ double radius; public Circle(double r){radius=r;} public double area(){return Pi*radius*radius;} } //A类(测试接口中隐含final的area()方法) public class A extends Shape2D{ public double area(); } //test5_2 public class test5_2{ public static void main(String args[]){ Circle c=new Circle(10); System.out.println("Pi=3.14圆的面积:"+c.area()); SetPi b=new SetPi(3.00); System.out.println("改变Pi=3.00圆的面积:"+c.area()); } } 运行结果:

Java语言程序设计(郑莉)第三章课后习题答案

Java语言程序设计(郑莉) 第三章课后习题答案 1.设N为自然数: n!=1*2*3*….*n 称为n的阶乘,并且规定0!=1.试编程计算2!,4!,6!he 10!.并将结果输出到屏幕上。答: public class Mul { public static void main(String args[]) { int i,n; float s; for(n=0;n<=10;n=n+2) { if(n==0) System.out.println("0!=1\n"); else {s=1; for(i=1;i<=n;i++) s=s*i; System.out.println(n+"!="+s+"\n"); } } } }

2.编写程序,接收用户从键键盘上输入的三个整数x,y,z..从中选出最大和最小者,并编程实现。 答:public class Math{ public static void main(String args[]){ int[] IntArg = new int[args.length]; for(int i=0;iIntArg[1]?IntArg[0]:IntArg[1]; max=max>IntArg[2]?max:IntArg[2]; min=IntArg[0]

认方法,并在B的构造方法中调用基类A的构造方法。 //A类 public class A { public A (String lin) { System.out.println("A类的非默认构造方法 "+lin); } }//B类 public class B extends A{ public B () { super ("Fuck your teacher"); System.out.println ("B默认类构造方法"); } public B (String lin) { super (lin); System.out.println ("B类非构造方法"); } }//测试类 public class test4_4 { public static void main (String args[]) { new B(); System.out.println (); new B("Fuck my teacher"); } } 运行结果: 5.声明一个类,它具有一种方法,此方法被重载三次,派生一个新类,并增加一种新的重载方法,编写测试类验证四种方法对于派生类验证四种方法对于派生类都有效。 //A类 public class A { public void showTime () { System.out.println ("空重载"); }

《JAVA程序设计》课程教学大纲

《JA V A程序设计》课程教学大纲 一、课程定位 《JA V A程序设计》是高职院校软件技术专业的一门必修的职业能力核心课程。本课程是培养Java平台开发工程师、Android手机开发工程师的必修课程。通过本课程的学习,使学生掌握使用Java语言设计和开发面向对象应用程序的知识和技能,具备Java开发工程师和Android开发工程师的基本职业能力。本课程为学习《JSP开发》、《EJB企业级应用开发》、《J2EE开发》、《Android开发》等后续课程奠定基础。 先修课程:《C语言程序设计》 后续课程:《JA VA Web程序设计》、《Android手机软件开发》 二、教学目标 通过采用“项目分解、任务驱动”的创建教学模式和项目综合实训,使学生掌握运用Java语言进行桌面应用程序开发的基本知识和技能,具有运用数据库技术和软件工程技术进行桌面应用程序开发的技能,能基本胜任Java开发程序员的工作岗位。通过本课程的学习,可以培养学生诚实、守信、坚忍不拔的性格;提高学生在沟通表达、自我学习和团队协作方面的能力;同时养成规范的编码习惯。 课程教学目标具体体现为专业技能、专业素质和专业知识三方面的目标。 (1)专业技能目标 ①能运用面向对象程序设计的思想分析和设计类; ②会定义接口,并能有效组织类和接口; ③会使用Eclipse开发工具开发Java应用程序; ④能综合应用所学知识解决实际问题。 (2)专业素质目标 ①具有良好的IT职业道德、职业素养和职业规范; ②具有热爱科学、实事求是、严肃认真、一丝不苟、按时守信的工作作风; ③具有较强的自我更新知识和技能的能力; ④具有基本的阅读文档、编写程序文档的能力。

相关文档
最新文档