java程序设计项目教程第3章答案

合集下载

java程序设计基础(第3版)实验指导答案 第三章

java程序设计基础(第3版)实验指导答案   第三章

实验10import java.util.*;public class shiyan10{public static void main(String[] args){int a=0,b=0,c=0,max=0;Scanner reader=new Scanner(System.in);System.out.println("从键盘输入第一个整数");a=reader.nextInt();System.out.println("从键盘输入第二个整数");b=reader.nextInt();System.out.println("从键盘输入第三个整数");c=reader.nextInt();if(a>b)max=a;elsemax=b;if(c>max)max=c;System.out.println("最大的数是"+max);}}//在程序中输入三个整数,比较它们的大小,输出最大的数实验11public class shiyan11{public static void main(String[] args){int s=0;for(int i=0;i<100;i++){s=s+i;i++;}System.out.println("1+3+5+···+99="+s);}}//用for循环语句求1+3+5+···+99的值实验12import java.util.*;public class shiyan12{public static void main(String[] args){int a=0,i=1,s=0;Scanner reader=new Scanner(System.in);while(a<50||a>100){System.out.println("从键盘输入一个50~100的整数");a=reader.nextInt();}System.out.println("你输入的数是"+a);while(i<=a){s=s+i;i++;}System.out.println("1+2+3+···+"+a+"="+s);}}//编写从键盘输入一个范围在50~100的整数,如果不正确,则继续输入;然后求1到输入整数的累加实验13public class shiyan13{public static void main(String[]args){int i=100,s=0;do{s=s+i;i--;}while(i>0);System.out.println("100+99+98+···+2+1="+s);}}//用do-while语句求100+99+···+2+1的值实验14import java.util.*;public class shiyan14{public static void main(String[] args)int a=-1;Scanner reader=new Scanner(System.in);System.out.println("从键盘输入0~6的整数");a=reader.nextInt();while(a<0||a>6){System.out.println("输入错误");System.out.println("从键盘输入0~6的整数");a=reader.nextInt();}switch(a){case 0:System.out.println("今天是星期日");break;case 1:System.out.println("今天是星期一");break;case 2:System.out.println("今天是星期二");break;case 3:System.out.println("今天是星期三");break;case 4:System.out.println("今天是星期四");break;case 5:System.out.println("今天是星期五");break;case 6:System.out.println("今天是星期六");break;default:System.out.println("输入错误");break;}}}//让用户通过输入一个0~6的整数,显示今天是xingqijipublic class shiyan15{public static void main(String[] args){for(int i=1;i<10;i++){if(i==6)break;System.out.println(""+i);}System.out.println("\n显示完毕");for(int i=1;i<10;i++){if(i%2==0)continue;System.out.println(""+i);}System.out.println("\n显示完毕");}}//先显示1~5各个整数,然后再显示1~10的各个奇数。

JAVA程序设计实用教程课后习题简答(第3版)

JAVA程序设计实用教程课后习题简答(第3版)

类中成员有几种访问权限?分别使用什么关键字? 【答】Java 定义了三个表示权限的关键字(public、protected、private) 。类有 2 种访问权限 分别是:公有 public,缺省。类中成员有 4 种访问权限分别是:公有 public,可被所有类访 问;保护 protected,可被同一包及包外所有子类访问;缺省,可被当前包中所有类访问; 私 有 private,只能被当前类访问。 3-8 this 引用有什么作用?this 引用有几种使用方法? 【答】Java 类中成员方法与 C 语言中函数还有一个重要差别就是, Java 类中每个成员方法 都可以使用代词 this 引用调用该方法的当前对象自己,this 引用有以下 3 种用法: (1)this 用于指代调用成员方法的当前对象自身,语法格式如下: this (2) 通过 this 可以调用当前对象的成员变量, 调用当前对象的成员方法。 语法格式如下: this.成员变量 this.成员方法([参数列表])注意:Java 中的 this 是引用方式,不是 C++中的指针方式。 (3)this 引用还可以用在重载的构造方法中,调用本类已定义好的构造方法。语法格式 如下: this([参数列表])注意:在构造方法中,this()引用必须是第一行语句。 3-9 说明类成员与实例成员的区别。 【答】Java 的类中可以包括两种成员:实例成员和类成员。 实例成员是属于对象的, 实例成员包括实例成员变量和实例成员方法。 类成员是属于类 的,需要用关键字 static 标识,也称为静态成员。具体区别如下: 1.实例成员变量与类成员变量 (1) 两者声明时的差别。当一个类声明成员变量时,没有使用关键字 static 声明的为实 例成员变量,使用关键字 static 声明的为类成员变量。 (2) 两者存储结构的差别。当创建一个对象时,系统会为每一个对象的每一个实例成员 变量分配一个存储单元, 使得属于不同对象的实例成员变量有不同的值; 而为每一个类成员 变量只分配一个存储单元,使得所有对象公用一个类成员变量。 (3) 两者引用方式的差别。实例成员变量属于对象,必须通过对象访问;类成员变量属 于类,既可以通过对象,也可以通过类访问。 2.实例成员方法与类成员方法 (1) 两者声明时的差别。当一个类声明成员方法时,没有使用关键字 static 声明的为实 例成员方法,使用关键字 static 声明的为类成员方法。 (2) 两者方法体中语句的差别。类成员方法只能访问类成员变量;实例成员方法既可以 访问类成员变量,也可以访问实例成员变量。在实例成员方法体中,可以使用 this 引用指代 当前对象;而在类成员方法体中,则不能使用 this 引用。 (3) 两者引用方式的差别。实例成员方法必须通过对象访问;类成员方法既可以通过对 象,也可以通过类访问。 3-10 什么是继承?继承机制的作用是什么?子类继承了父类中的什么?子类不需要父类中 的成员时怎么办?能够删除它们吗?Java 允许一个类有多个父类吗? 【答】继承性是面向对象的核心特征之一,是一种由已有的类创建新类的机制。被继承的类 称为父类或超类, 通过继承产生的新类称为子类或派生类。 继承机制是面向对象程序设计中 实现软件可重用性的最重要手段。

JAVA第三章课后习题答案

JAVA第三章课后习题答案

第一题:public class disanzhangxiti1{public static void main (String args[]){char x='你',y='e',z='吃';if(x>'A'){y='爱';z='情';}elsey='我';z='她';System.out.println(" "+x+y+z);}}第二题:public class disanzhangxiti2{public static void main (String args[]){char c='\0';for(int i=1;i<=4;i++){switch(i){case 1: c='b';System.out.print(c);case 2: c='e';System.out.print(c);break;case 3: c='p';System.out.print(c);default: System.out.print("!");}}}}第三题:public class disanzhangxiti3{public static void main (String args[]){int sum=0,a=1;int i=1;while(i<=10){sum=sum+a;i=i+1;a=a*i;}System.out.println("sum="+sum);}}第四题:public class disanzhangxiti4{public static void main(String agrs[]){int i,j,count=0;for(j=2;j<=100;j++){for(i=2;i<=j/2;i++){if(j%i==0)break;}if(i>j/2){count++;System.out.println(""+j+"");}}System.out.println("count="+count);}}第五题:public class disanzhangxiti5{public static void main(String agrs[]){double sum=0,a=1,i=1;do{i++;sum=sum+a;a=a*(1.0/i);}while(i<=3);System.out.println("sum="+sum);}}public class disanzhangxiti5_for{public static void main(String agrs[]){double sum=0,a=1,i=1;for(i=1;i<=2;i++){sum=sum+a;a=a*(1.0/i);}System.out.println("sum="+sum);}}第六题:public class disanzhangxiti6{public static void main(String agrs[]){int a,i,sum;for(a=2;a<=1000;a++){for(sum=0,i=1;i<=a/2;i++)if(a%i==0)sum+=i;if(sum==a)System.out.println(a);}}}第七题:public class disanzhangxiti7{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){sum=sum+item;item=item*10+a;}System.out.println(sum);}}public class disanzhangxiti7_while{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;while(i<=10){i++;sum=sum+item;item=item*10+a;}System.out.println(sum);}}第八题:public class disanzhangxiti8{public static void main(String agrs[]){int sum=0,i,n=1;for(i=1;i<=n;i++){sum=sum+i;if(sum<8888)n++;if(sum>=8888)break;}System.out.println("sum="+sum);System.out.println("i="+i);}}。

Java语言程序设计(郑莉)一到八章课后习题答案

Java语言程序设计(郑莉)一到八章课后习题答案

第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。

对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。

现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!两者的关系:对象是类的具体实例.。

2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

它的特征:抽象,封装,继承,多态。

3.在下面的应用中,找出可能用到的对象,对每一个对象,列出可能的状态和行为。

1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。

行为:订票,领票,买票,退票。

2)银行交易:状态:客户姓名,账号,身份证号。

行为:存款,取款,汇款。

4.请解释类属性、实例属性及其区别。

答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。

5.请解释类方法、实例属性及其区别。

答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。

答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。

区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。

解析JAVA程序方案三课后答案

解析JAVA程序方案三课后答案

第3章习题解答1.如何定义方法?在面向对象程序设计中方法有什么作用?答:方法的定义包括方法名、方法形参、方法的返回值类型和方法体四部分,方法只能在类中定义。

方法是对象的动态特征的描述,对象通过方法操作属性,进而改变对象的状态,完成程序所预期的功能。

2.定义一个Dog类,有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。

编写应用程序使用Dog。

答:public class Dog{private String name。

private String color。

private String age。

Dog(String n,String c,String a>{name = n。

color = c。

age = a。

}public String toString(> {return name + "," + color + "," + age。

}public static void main(String args[]> {Dog dog = new Dog("小白", "白色", "2岁">。

System.out.println(dog.toString(>>。

}}3.什么是访问控制修饰符?修饰符有哪些种类?它们各有何作用?答:访问控制修饰符是对类、属性和方法的访问权限的一种限制,不同的修饰符决定了不同的访问权限。

访问控制修饰符有3个:private、protected、public,另外还有一种默认访问权限。

各个修饰符的作用如下表所示:B:包中的类C:所有子类D:本类A:所有类11.定义一个表示学生的类Student,包括的成员变量有:学号、姓名、性别、年龄;成员方法有:获得学号、姓名、性别、年龄;修改年龄。

并书写Java程序创建Student类的对象及测试其方法的功能。

解析JAVA程序设计第三章课后答案

解析JAVA程序设计第三章课后答案

第3章习题解答1.如何定义方法?在面向对象程序设计中方法有什么作用?答:方法的定义包括方法名、方法形参、方法的返回值类型和方法体四部分,方法只能在类中定义。

方法是对象的动态特征的描述,对象通过方法操作属性,进而改变对象的状态,完成程序所预期的功能。

2.定义一个Dog类,有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。

编写应用程序使用Dog。

答:public class Dog{private String name;private String color;private String age;Dog(String n,String c,String a){name = n; color = c; age = a;}public String toString() {return name + "," + color + "," + age;}public static void main(String args[]) {Dog dog = new Dog("小白", "白色", "2岁");System.out.println(dog.toString());}}3.什么是访问控制修饰符?修饰符有哪些种类?它们各有何作用?答:访问控制修饰符是对类、属性和方法的访问权限的一种限制,不同的修饰符决定了不同的访问权限。

访问控制修饰符有3个:private、protected、public,另外还有一种默认访问权限。

各个修饰符的作用如下表所示:B:包中的类C:所有子类D:本类A:所有类:所有类4.阅读程序,写出程序的输出结果class A{private int privateVar;A(int _privateVar){privateVar=_privateVar;}boolean isEqualTo(A anotherA){if(this.privateVar == anotherA.privateVar)return true;elsereturn false;}}public class B{public static void main(String args[]){A a = new A(1);A b = new A(2);System.out.println(a.isEqualTo(b));}}程序的输出结果为:false5.阅读程序,写出程序的输出结果public class Test {public static void main(String[] args) {int x;int a[] = { 0, 0, 0, 0, 0, 0 };calculate(a, a[5]);System.out.println("the value of a[0] is " + a[0]);System.out.println("the value is a[5] is " + a[5]);}static int calculate(int x[], int y) {for (int i = 1; i < x.length; i++)if (y < x.length)x[i] = x[i - 1] + 1;return x[0];}}程序的输出结果为:the value of a[0] is 0the value is a[5] is 56.阅读程序,写出程序的输出结果public class Test {public static void main(String[] args) {String str1 = new String("Java");String str2 = new String("Java");System.out.println(str1 == str2);}}程序的输出结果为:false7.阅读下列程序,程序中已经指明错误位置,请说出错误原因。

java习题及答案第3章 习题参考答案

java习题及答案第3章 习题参考答案

第3章习题解答1. Java语言的注释有哪几种?分别给出一个例子。

答:Java语言的注释有3种,分别是单行注释、多行注释和文档注释。

单行注释的例子如下:public static Point origin = new Point(0, 0); //类初始化时,创建一个原点实例多行注释的例子如下:/* 类初始化时,创建一个原点实例 */public static Point origin = new Point(0, 0);文档注释的例子如下:/**** @类名:Point* @类简介:坐标点类,可以初始化其坐标x和y。

* @编程人:林福平* @编程日期:2012-8-9* @修改日期:2012-8-10**/2. Java语言中分隔符有哪几种?空白符有哪些?答:Java语言中的分隔符有空白符、注释和普通分隔符三种。

Java语言中的空白符(White Space)包括空格(SP,space)、制表符(‘\t’,Tab键)、走纸换页(‘\f’)、回车(‘\r’)和换行(‘\n’)。

3. 简述标识符的用途。

下列字符串中,哪些是标识符?PIx2 -length a+b _bytes $long MIN_VALUE答:Java语言中的标识符用于对类、方法、变量、类型、数组和文件等进行命名。

上述字符串中,以下这些是Java语言的标识符:PIx2 _bytes $long MIN_VALUE4. 下列字符串中,哪些是关键字?true for int null $float _double答:上述字符串中,以下这些是Java语言的关键字:true for int null5. Java语言的基本数据类型分为那几大类?答:Java语言的基本数据类型分为数值类型(包括整数类型和浮点类型)、字符类型(char)和布尔类型(Boolean)。

整数类型有byte、 short、 int和long。

浮点类型有float和double。

java程序设计第二版课后答案

java程序设计第二版课后答案

java程序设计第二版课后答案Java程序设计第二版课后答案涵盖了多个章节,每个章节都包含了不同的编程概念和练习题。

以下是一些常见章节的课后答案概要,以供参考:第1章:Java简介- 1.1 Java的起源和特点- 1.2 Java平台的组成- 1.3 Java开发环境的搭建第2章:基本语法- 2.1 数据类型- 2.2 变量声明- 2.3 运算符- 2.4 控制语句(if, switch, loop)第3章:控制流程- 3.1 条件语句(if-else, switch-case)- 3.2 循环语句(for, while, do-while)- 3.3 跳转语句(break, continue, return)第4章:数据结构- 4.1 数组的定义和使用- 4.2 字符串的处理- 4.3 集合框架简介第5章:面向对象编程- 5.1 类和对象- 5.2 构造方法- 5.3 继承- 5.4 封装和多态第6章:异常处理- 6.1 异常的概念- 6.2 异常的分类- 6.3 异常的处理方式(try-catch-finally)第7章:输入输出- 7.1 标准输入输出- 7.2 文件输入输出- 7.3 序列化第8章:Java集合框架- 8.1 集合的基本概念- 8.2 List接口及其实现- 8.3 Set接口及其实现- 8.4 Map接口及其实现第9章:泛型- 9.1 泛型的概念- 9.2 泛型的使用- 9.3 泛型的限制第10章:多线程- 10.1 线程的概念- 10.2 创建和启动线程- 10.3 线程的同步第11章:网络编程- 11.1 网络编程基础- 11.2 Socket编程- 11.3 URL和URLConnection第12章:图形用户界面- 12.1 AWT和Swing- 12.2 事件处理- 12.3 布局管理器第13章:Java数据库连接- 13.1 JDBC基础- 13.2 数据库连接和操作- 13.3 SQL语句的使用第14章:Java Web应用- 14.1 Servlet基础- 14.2 JSP技术- 14.3 MVC架构模式每个章节的课后答案通常包括理论问题和编程练习题的解答。

JAVA程序设计课后习题及答案3

JAVA程序设计课后习题及答案3

第3章1.类是一种复杂的数据类型,它是将数据和对数据的操作封装在一起而形成的集合体,是普通数据类型的扩展。

类不仅包含数据,还包含对数据进行操作的方法,正是这些方法反映了数据的行为。

对象是类的实例,是某个类的变量。

当一个程序运行时,系统为对象分配内存单元,而不是为类分配内存单元。

类和对象是密切相关的,类脱离不了对象,对象必须依赖类。

两者的关系可以简单地描述为抽象和具体的关系。

2.Java中,类成员的访问权限可以分为公共访问、默认访问、私有访问、保护访问和私有保护访问等几种,其中,除了默认访问没有控制符进行修饰,其他几种访问权限分别使用public、private、protected和private protected这样的访问控制修饰符。

3.如果把类设计成一个黑匣子,则使用者只能看见类中定义的公用方法却看不到方法的实现细节,也不能直接操作类中的数据,这样就可以有效地防止外部对类的干扰。

如果改变了类中数据的定义,只要方法名不改,就不会对使用该类的程序产生任何影响,这就是封装的含义。

也就是说,类的封装可以减少程序对类中数据的依赖性。

通过封装,可以达到以下目的。

(1)隐藏类的实现细节。

(2)要求用户只能通过接口访问数据。

(3)提高代码的可维护性。

4.继承是一种由已有的类创建新类的机制,利用继承,可以创建一个具有特殊属性的新类。

新类继承了已有类的状态和行为,并根据需要来增加自己的状态和行为。

对象的多态性主要分为两种类型,即向上转型和向下转型。

向上转型是指用子类对象实例化父类,对象的向上转型是自动完成的;向下转型是指用父类对象实例化子类,向下转型时,必须明确指明要转型的子类类型。

5.方法的重载是指在一个类中,方法的名称相同,但是方法的参数个数或参数类型不同,这称为方法的重载。

在调用具有重载关系的方法时,通过传递参数的个数以及传递参数的类型来区分调用了哪个方法。

如果子类的方法与父类中的方法同名,则子类不能继承父类中的方法,此时称子类方法覆盖了父类中的方法。

04747Java语言程序设计教材程序设计题答案

04747Java语言程序设计教材程序设计题答案

04747Java语言程序设计(一)2017年版课后思考题与练习题程序设计题参考答案第三章流程控制语句5.1题_____________________________________________________________________________ public class Chapt3_5_1 {public static void main(String[] args) {int n[ ]={2,4,6,8,10};//分别计算2、4、6、8、10int stepmulti=1;for (int i=0;i<n.length;i++){stepmulti*=n[i];System.out.println("n["+i+"]!="+n[i]+"!="+stepmulti);}}}5.2题_____________________________________________________________________________ public class Chapt3_5_2 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=0.000f;for (float i=1;i<=n;i++)sum=sum+(1/i);System.out.println("S=1+1/2+1/3+.....+1/n="+sum);}}5.3题_____________________________________________________________________________ public class Chapt3_5_3 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=1.000f;for (float i=1; i<=n;i++)sum=sum+1/(3*i);System.out.println("S=1+1/3+1/6+...+1/3n="+sum);}}5.4题_____________________________________________________________________________public class Chapt3_5_4 {public static void main(String[] args) {int n=7;int i=0;while(i<n){if (i<n/2){for (int j=0; j<i;j++) System.out.print(" ");for (int k=0; k<n-2*i; k++) System.out.print(" * ");}else {for (int m=0; m<n-i-1;m++) System.out.print(" ");for (int k=0;k<n-(n-(i+1))*2;k++)System.out.print(" * ");}i++;System.out.println("");}}}5.5题_____________________________________________________________________________ public class Chapt3_5_5 {public static void main(String[] args) {int n=10;int i=0;while (i<10){for (int j=1;j<n-i;j++)System.out.print(" * ");i++;System.out.println();}}}5.6题_____________________________________________________________________________ public class Chapt3_5_6 {public static void main(String[] args) {for (int i=1;i<10;i++)System.out.print("\t "+i);for (int i=1;i<10;i++){System.out.print("\n"+i+"\t");for (int j=1;j<10;j++)System.out.print(j+"*"+i+"="+i*j+"\t");}}}5.7题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_7 {public static void main(String[] args) {String str;Scanner scan=new Scanner(System.in);System.out.println("请输入一串字符:");str=scan.nextLine();int k=0;goon: for(int i=0;i<str.length();i++){if (!(str.substring(i,i+1).equals(str.substring(str.length()-i-1,str.length()-i)))) {System.out.println("你输入的字符串("+str+")不是回文");k=1;break;}else continue goon;}if (k==0) System.out.println("你输入的字符串("+str+")是回文");scan.close();}}5.8题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_8 {public static void main(String[] args) {int n=0;Scanner scan=new Scanner(System.in);System.out.println("请输入一个整数:");int num=scan.nextInt();for (int i=2;i<num;i++){if (num%i==0){System.out.println(num+"非质数!");break;}else n=1;}if (n==1)System.out.println(num+"是个质数!");scan.close();}}5.9题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_9 {public static void main(String[] args) {Scanner t=new Scanner(System.in);System.out.println("请输入华氏温度:");double tin=t.nextDouble();System.out.println("转换后的摄氏温度为:"+(tin-32)/1.8);t.close();}}5.10题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_10 {public static void main(String[] args) {double s;Scanner leng=new Scanner(System.in);System.out.println("请输入三角形的第一条边长a:");double a=leng.nextDouble();System.out.println("请输入三角形的第二条边长b:");double b=leng.nextDouble();System.out.println("请输入三角形的第三条边长c:");double c=leng.nextDouble();if (a+b<=c||a+c<=b||b+c<=a||Math.abs(a-b)>=c||Math.abs(a-c)>=b||Math.abs(b-c)>=a) System.out.print("您输入的三条边无法构成三角形");//题目未要求判断,可以忽略else {s=(a+b+c)/2;System.out.println("这个三角形的面积S为"+Math.sqrt(s*(s-a)*(s-b)*(s-c)));}leng.close();}}5.11题_____________________________________________________________________________ import java.util.Calendar;//获取系统当年年份需要用到import java.util.Scanner;/***根据本书进度编写的程序,重复代码比较多,读者可在学习后续章节后再优化**/public class Chapt3_5_11 {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("请输入数字1、2、3选择你要执行的操作,1、输入一个月份,打印当年该月的月历;2、输入当年的一个日期,查询当天是星期几;3、查询两个日期之间相差几天。

[教学]java程序设计项目教程第3章答案

[教学]java程序设计项目教程第3章答案

一、选择题参考答案:1.B2.A3.D4.C5.A6.A7.B8.B9.A 10.A 11.A 12.D二、填空题参考答案:1.覆盖2.参数3.方法体4.public static final5.抽象6.extends7.Student String 8.class static三、简答题1.子类能够继承父类的哪些成员变量和方法?①子类可以继承父类的属性,包括实例成员变量和类成员变量。

②子类可以继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。

2.this和super关键字的作用是什么?0使用this关键字可实现调用本类的构造方法及调用被方法隐藏的成员变量。

0super关键字可调用父类的构造方法及调用父类的同名成员。

03.什么是方法的重载?什么是方法的覆盖?0方法重载是指同一个类中多个方法享有相同的名字,但是这些方法的参数必须不同,参数不同是,指或者是参数的个数不同,或者是参数类型不同,或者是不同类型参数的排列顺序不同。

0类继承的过程中,子类方法跟父类方法名字相同,并且传递的参数完全一样,称子类覆盖了父类的方法。

04.什么是多态?使用多态有什么优点?0多态的表现形式主要有方法的重载和方法的覆盖。

0使用多态可根据同名方法的参数不同实现不能的功能或同一类对象根据赋予的引用对象的不同来实现不同的行为。

05.什么是包?定义包的作用是什么?0包是java提供的一种命名空间机制,实现了对类的存放和引用位置的管理,包对应一个文件夹。

0java的类库就是用包来实现了类的分类和存放,每个包中都有多组相关的类和接口。

6.什么是接口?接口中的变量和方法各有什么要求?接口是特殊的抽象类,可以想象为一个“纯”抽象类,就是一组具有特定意义的静态常量和抽象方法的集合。

属性定义时必须赋初值,是常量。

属性性前修饰符时默认该属性由final、static修饰。

接口中的方法必须是抽象方法。

7.类BB是AA类的子类。

类AA和类BB中都定义了变量x和method()方法,这种情况称为子类隐藏了父类的同名变量x并覆盖了父类的method()方法.8.输出结果为:AABB若将main()方法中的语句改为:BB b=new BB(10); 程序输出的结果是什么?AAAAAABBBB四、编程1.编写一个类,描述学生的学号、姓名、成绩。

Java程序设计基础与实战-习题答案(人邮) 第3章作业参考答案

Java程序设计基础与实战-习题答案(人邮) 第3章作业参考答案

第3章作业参考答案
1.填空题(1)类
(2)属性new
(3)thisstatic
2.选择题
简答题
(1)回答要点
面向对象的方法主要是把事物给对象化,包括其属性和行为。

面向对象编程更贴近实际生活的思想。

总体来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象(万物皆对象)。

(2)回答要点
•格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。

普通成员方法可以任意起名,必须有返回类型,可以没有返回值。

•作用区别
构造方法用于创立对象,并进行初始化值。

普通成员方法是用于完成特定功能的。

•调用区别
构造方法是在创立对象时被调用的,一个对象建立,只调用一次相应构造函数。

普通成员方法是由创立好的对象调用,可以调用屡次。

(3)回答要点
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间,回收之前会自动调用finalize方法,用于清理资源。

(4)回答要点
对象是类的实例,类是对象的模板
4.编程题
(1)源代码:参考本章资料文件夹下“作业1”。

(2)源代码:参考本章资料文件夹下“作业2”。

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

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;i<args.length;i++){IntArg[i] = Integer.parseInt(args[i]);}int max,min;max=IntArg[0]>IntArg[1]?IntArg[0]:IntArg[1];max=max>IntArg[2]?max:IntArg[2];min=IntArg[0]<IntArg[1]?IntArg[0]:IntArg[1];min=min<IntArg[2]?min:IntArg[2];System.out.println("max="+max);System.out.println("min="+min);}}3.求出100一枚的宿舍,并将这些数在屏幕上5个乙杭地显示出来。

第三章-面向对象程序设计(答案)

第三章-面向对象程序设计(答案)

一、判断题1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。

对2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。

对3、接口中的成员变量全部为常量,方法为抽象方法。

对4、抽象类可以有构造方法,可以直接实例化。

错5、对static方法的调用可以不需要类实例。

对6、包含抽象方法的类一定是抽象类。

对7、方法中的形参可以和方法所属类的属性同名。

对8、接口无构造器,不能有实例,也不能定义常量。

错9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。

对10、Java应用程序的入口main方法只有一种定义法。

对二、选择题1、下列答案正确的是(A)A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为publicB) 在同一个Java源文件中只能包含一个类,并被声明为publicC) 在同一个Java源文件中可以包含多个类,都可以被声明为publicD) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default2、Java实现动态多态性是通过( B )实现的。

A) 重载B) 覆盖C) 接口D) 抽象类3、下列哪一个是正确的方法重载描述(A)A) 重载方法的参数类型必须不同B) 重载方法的参数名称必须不同C) 返回值类型必须不同D) 修饰词必须不同4、final关键字不可以用来修饰( D )A) 类B) 成员方法C) 域D) 接口5、接口的所有成员方法都具有( B )属性A) private, final B) public, abstractC) static, protected D) static6、Java的封装性是通过(A)实现的A) 访问控制B) 设计内部类C) 静态域和静态方法D) 包7、下列接口或类不属于java.util.*包的是( D )A) Collection B) V ector C) Map D) Integer8、下述哪一组方法,是一个类中方法重载的正确写法?(A)A) int addV alue( int a, int b ){return a+b;}float addV alue ( float a, float b) {return a+b;}B) int addV alue (int a, int b ){value=a+b; }float addV alue ( int a, int b) {return (float)(a+b);}C) int addV alue( int a, int b ){return a+1;}int addV alue ( int a, int b) {return a+b;}D) int addV alue( int a, int b ) {return a+b;}int addV alue ( int x, int y ) {return x+y;}9、下列说法哪个是正确的?( C )A) 子类不能定义和父类同名同参数的方法B) 子类只能继承父类的方法,而不能重载C) 重载就是一个类中有多个同名但有不同形参和方法体的方法D) 子类只能覆盖父类的方法,而不能重载10、对于下列代码:public class Parent {public int addV alue( int a, int b) {int s;s = a+b;return s;}}class Child extends Parent {}下述哪个方法不可以加入类Child? ( B )A) public int addV alue( int a, int b,int c ){// do something...}B) public void addV alue (int a, int b ){// do something...}C) public int addV alue( int a ){// do something...}D) public int addV alue( int a, int b ) {//do something...}11、以下程序段输出结果的是( B )public class A implements B {public static void main(String args[]) {int i;A c1 = new A();i= c1.k;System.out.println("i="+i);}}interface B {int k = 10;}A) i=0 B) i=10 C) 程序有编译错误D) i=true12、阅读下面的程序,输出结果是( B )public class TestDemo {int m=5;public void some(int x) {m=x;}public static void main(String args []) {new Demo().some(7);}}class Demo extends TestDemo {int m=8;public void some(int x) {super.some(x);System.out.println(m);}}A) 5 B) 8 C) 7 D) 编译错误13、下述哪个说法是不正确的?(A)A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值B) 类成员变量由系统自动进行初始化,也无需初始化C) 参数的作用域就是所在的方法D) for语句中定义的变量,当for语句执行完时,该变量就消亡了14、下述那一个保留字不是类及类成员的访问控制符。

java1-3章答案

java1-3章答案

/***************************************************************** ***************************第2xx习题4角谷猜想:任何一个正整数n,如果它是偶数则除以2,如果是奇数则乘以3加上1,这样得到一个新的整数,如继续进行上述处理,则最后得到的数一定是1。

编写应用程序和小程序分别证明:所有的3至100的数都符合上述规则。

***************************************************************** ***************************///程序清单/*方法1:采用小程序*/import java.awt.*;import java.util.*;import java.applet.Applet;public class jiaogu extends Applet{public void paint(Graphics g){int x,n,i=10;for(x=3;x<=10;x++){n=x;while(n!=1)if(n%2==0)n=n/2;else n=n*3+1;g.drawString (x+"符合角谷猜想!",25,25+i);i=i+15;}}}/**方法2:采用应用程序*/class jiaogu{public static void main(String args[]){int x,n,i;for(x=3;x<=1000;x++){n=x;while(n!=1)if(n%2==0)n=n/2;else n=n*3+1;System.out.println(x+"符合角谷猜想!");}}}/************************************************************** ******************************第2xx习题5编写一个applet,要求输入2个整数,在状态条显示较大的数,紧跟着显示“is larger”。

JAVA第三章课后习题解答

JAVA第三章课后习题解答
抽象类不具备实际功能抽象类不具备实际功能抽象类不具备实际功能是专门设计用是专门设计用是专门设计用来让子类继承的类来让子类继承的类来让子类继承的类把这些具有共同特征的方法抽象出来把这些具有共同特征的方法抽象出来把这些具有共同特征的方法抽象出来由子类负责这些抽象方法的实现由子类负责这些抽象方法的实现由子类负责这些抽象方法的实现细节而父类仅提供此方法的名称和声明没有方法的主体细节而父类仅提供此方法的名称和声明没有方法的主体细节而父类仅提供此方法的名称和声明没有方法的主体该类
System.out.println(s); return s; } }
public class TestStudent { public static void main(String args[]) { student stu = new student("0401398", "杨小明", "男",20); stu.printInfo();
【13】什么是接口?为什么要定义接口?接口和类有什么异同? [解答]:接口是用来调节各类之间的相互关系的一种结构,接口是抽象类的一种,只包含常 量和方法的定义,而没有变量和具体方法的实现,且其方法都是抽象方法。 接口定义的格式如下:
[public] interface 接口名 [extends 父接口名列表]{ … //接口体 } extends 子句有类声明的 extends 子句基本相同,不同的是一个接口可有多个父接口,用 逗号隔开,而一个类只能有一个父类。Java 中的类只能实现单重继承,这虽然可以简化编程, 但毕竟没有完全实现面向对象的功能。定义接口的主要作用,就是帮助 Java 实现类间多重 继承的结构。而且接口还有以下好处:
4
● 接口可以被多个类所实现,这些类可以不相关,从而具有相同的行为。 ● 通过接口可以了解对象的行为,而无需了解对象所对应的类的结构。

Java程序设计(华东交通大学)智慧树知到课后章节答案2023年下华东交通大学

Java程序设计(华东交通大学)智慧树知到课后章节答案2023年下华东交通大学

Java程序设计(华东交通大学)智慧树知到课后章节答案2023年下华东交通大学华东交通大学第一章测试1.编译和运行以下代码的结果为:public class MyMain{public static void main(String argv){System.out.println("Hello cruel world");}}答案:编译无错,但运行时指示找不到main方法2.以下哪个是Java应用程序入口的main方法头?答案:public static void main(String a[])3.编译Java源程序文件将产生相应的字节码文件,字节码文件的扩展名为?class4.main方法是Java Application程序执行的入口点,关于main方法的方法头合法的有?答案:public static void main(String arg[ ]);public static void main(String[ ] args)5.每个源程序文件中只能定义一个类。

答案:错第二章测试1.在Java中,十进制数16的十六进制表示格式是?答案:0x102.要产生[10,100]之间的随机整数使用哪个表达式?10+(int)(Math.random()*91)3.下列符号中不能作为Java标识符的是?答案:45six4.下面各项中定义变量及赋值不正确的是?答案:float f = 45.0;5.执行以下代码段后, x, a,和 b的值为?int x, a = 6, b = 7;x = a++ + b++;答案:x= 13, a=7, b=86.下列哪个不是Java的保留字?答案:cin7.哪些赋值是合法的?答案:float f = -412;;long test = 012; ;double d = 0x12345678;8.下列代码中,将引入编译错误的行是1 public class Exercise{2 public static void main(String args[]){3 float f = 0.0 ;4 f = f + 1.0 ;5 }6 }答案:第3行;第4行9.下列哪些是合法标识符?答案:$persons ;TwoUsers10.下列哪些是java中有效的整数表示形式?答案:022;22;0x22第三章测试1.如何更改break语句使退出inner和middle循环,继续外循环的下一轮?outer: for (int x = 0; x < 3; x++) {middle: for (int y = 0; y < 3; y++) {inner: for (int z = 0; z < 3; z++) {if (arr(x, y, z) == targetValue)break;}}}答案:break middle;2.以下程序的输出结果为?public class Test {public static void main(String args[]) {for ( int k = 0; k < 3; k++)System.out.print("k");}}答案:kkk3.以下代码的调试结果为?1: public class Q102: {3: public static void main(String[] args) 4: {5: int i = 10;6: int j = 10;7: boolean b = false;8:9: if( b = i == j)10: System.out.println("True");11: else12: System.out.println("False");13: }14: }答案:输出:True4.以下代码的调试结果为?public class test {public static void main(String args[]) {int i = 1;do {i--;} while (i > 2);System.out.println(i);}}答案:5.下面的代码段执行之后count的值是什么?int count = 0;for (int i = 1; i < 4; i++) {count += i;}System.out.println(count);答案:66.以下程序的运行结果为:1. public class Conditional {2. public static void main(String args [] ) {3. int x = 4;4. System.out.println( "value is " +5. ((x > 4) ? 99.99 : 9));6. }7. }答案:输出: value is 9.07.下列程序的运行结果?public class Test {public static void main(String a[]) {int x=3,y=4,z=5;if (x>3) {if (y<2)System.out.println("show one");elseSystem.out.println("show two");}else {if (z>4)System.out.println("show three");elseSystem.out.println("show four");}}}答案:show three8.以下程序调试结果public class test {public static void main(String args[]) {int i=1, j=3;while (j>0) {j--;i++;}System.out.println(i);}}答案:49.在switch(expression)语句中,expression的数据类型不能是?答案:boolean;double10.假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?答案:if (a<3) { } ; if (true) { }第四章测试1.以下程序运行时输入:java Cycle hello two me 2public class Cycle{public static void main(String args[]){System.out.println(args[1]);}}则运行结果为?答案:two2.public class test {public static void main(String args[]) {int m=0;for ( int k=0;k<2;k++)method(m++);System.out.println(m);}public static void method(int m) {System.out.print(m);}答案:0123.以下程序运行结果为:public class Q {public static void main(String argv[]) { int anar[]= new int[5];System.out.println(anar[0]);}}答案:4.下列程序的运行结果是:public class Test {public static void main(String args[]) {int m[]={1,2,3,4,5,6,7,8};int sum = 0;for (int i=0;i<8;i++){sum = sum + m[i];if (i==3) break;}System.out.println(sum);}}答案:105.下面定义和给数组初始化正确的是:答案:String temp [] = {''a'', ''b'', ''c''};6.在注释//Start For loop 处要插入哪段代码可以实现根据变量i的值定位访问数组ia[]的所有元素。

Java程序设计(2021春)——第三章类的重用课后题(选择题+编程题)答案与详解

Java程序设计(2021春)——第三章类的重用课后题(选择题+编程题)答案与详解

Java程序设计(2021春)——第三章类的重⽤课后题(选择题+编程题)答案与详解Java程序设计(2021春)——第三章类的重⽤课后题(选择题+编程题)答案与详解⽬录第三章选择题Tip:选择题部分我只针对部分我出错的或我认为有价值的题⽬在此整理。

3.0 导学⽆3.1.1-3.1.2 类继承的概念和语法⽆3.1.3 隐藏和覆盖⽆3.2 Object类⽆3.3 终结类与终结⽅法T2题⾯如果需要抛出异常,可能会使⽤下⾯哪些关键字A finalB finallyC finalizeD catch答案B D详解选项中和异常相关的只有finally和catch。

(其实这应该是没讲过,笔者⽬前还没接触过相关内容,先mark⼀下)T3题⾯下⾯程序的运⾏结果是(忽略换⾏)class C{final public int methos(){System.out.println("a");return 0;}}public class A extends C{final public int method (int x){System.out.println(x);return 0;}public static void main(String[] args){c.method();}}A 2 2B 2 aC 运⾏错误,因为C的final⽅法不能被重写D 运⾏错误,因为A重写method时参数表不⼀样答案B详解由于参数表不⼀样,因此并⾮重写⽅法,⽽是定义新⽅法。

运⾏结果应该为2 a。

T4题⾯不能⽤来修饰interface的有A privateB publicC finalD static答案A C D详解可以修饰interface的只有public。

可以修饰class的有public final abstract。

T6题⾯final类和⽅法的存在处于以下哪些⽅⾯的考虑A 安全⽅⾯B 设计⽅⾯C 代码结构简单D 能够提⾼运⾏效率答案A B D详解详见郑莉⽼师《Java语⾔程序设计(第2版)》118-119页。

Java程序设计课后练习答案

Java程序设计课后练习答案

J a v a程序设计课后练习答案Last updated on the afternoon of January 3, 2021《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.(A)是在Dos命令提示符下编译Java程序的命令,(B)是运行Java程序的命令。

A.javacB.javaC.javadocD.javaw2.(D)不是Java程序中有效的注释符号。

ssB. .jarC. .javD. .java二、简答题1、Java的跨平台的含义是什么为什么Java可以跨平台2、Java语言的一个非常重要的特点就是平台无关性。

它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。

Java之所以能平台无关,主要是依靠Java 虚拟机(JVM)来实现的。

JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。

Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。

字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。

以下图展示了Java程序从编译到最后运行的完整过程。

3、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。

2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。

3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。

4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题
参考答案:
1.B
2.A
3.D
4.C
5.A
6.A
7.B
8.B
9.A 10.A 11.A 12.D
二、填空题
参考答案:
1.覆盖
2.参数
3.方法体
4.public static final
5.抽象
6.extends
7.Student String 8.class static
三、简答题
1.子类能够继承父类的哪些成员变量和方法?
①子类可以继承父类的属性,包括实例成员变量和类成员变量。

②子类可以继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。

2.this和super关键字的作用是什么?
使用this关键字可实现调用本类的构造方法及调用被方法隐藏的成员变量。

super关键字可调用父类的构造方法及调用父类的同名成员。

3.什么是方法的重载?什么是方法的覆盖?
方法重载是指同一个类中多个方法享有相同的名字,但是这些方法的参数必须不同,参数不同是,指或者是参数的个数不同,或者是参数类型不同,或者是不同类型参数的排列顺序不同。

类继承的过程中,子类方法跟父类方法名字相同,并且传递的参数完全一样,称子类覆盖了父类的方法。

4.什么是多态?使用多态有什么优点?
多态的表现形式主要有方法的重载和方法的覆盖。

使用多态可根据同名方法的参数不同实现不能的功能或同一类对象根据赋予的引用对象的不同来实现不同的行为。

5.什么是包?定义包的作用是什么?
包是java提供的一种命名空间机制,实现了对类的存放和引用位置的管理,包对应一个文件夹。

java的类库就是用包来实现了类的分类和存放,每个包中都有多组相关的类和接口。

6.什么是接口?接口中的变量和方法各有什么要求?
接口是特殊的抽象类,可以想象为一个“纯”抽象类,就是一组具有特定意义的静态常量和抽象方法的集合。

属性定义时必须赋初值,是常量。

属性性前修饰符时默认该属性由final、static修饰。

接口中的方法必须是抽象方法。

7.类BB是AA类的子类。

类AA和类BB中都定义了变量x和method()方法,这种情况称为子类隐藏了父类的同名变量x并覆盖了父类的method()方法.
8.输出结果为:
AA
BB
若将main()方法中的语句改为:BB b=new BB(10); 程序输出的结果是什么?
AA
AAAA
BBBB
1.编写一个类,描述学生的学号、姓名、成绩。

学号用整型,成绩用浮点型,姓名用String 类型。

编写一个测试类,输入学生的学号和成绩,并显示该学号的学生姓名,以及成绩。

参考答案:
class Student{
int sNum;
double score;
String name;
}
public class T1_Student{
public static void main(String[] args){
Student s=new Student();
s.sNum=101;
s.score=97;
="张三";
System.out.println(+"的学号是"+s.sNum+"成绩是"+s.score);
}
}
2.编写测试程序,首先创建一个Student对象,利用setName()方法设置xm属性(设成自己的名字),利用setBj()方法设置bj属性(设成所在班级),然后输出自己的名字和班级,运行这个测试程序查看输出结果。

参考答案:
class Student
{
String bj,xm;
void setXm(String x)
{
xm=x;
}
void setBj(String y)
{
bj=y;
}
public static void main(String args[])
{
Student st=new Student();
st.setXm("wangfei");
st.setBj("0701");
System.out.print("xm:"+st.xm+" bj:"+st.bj);
}
}
3.编写一个类,描述汽车,其中用字符型描述车的牌号,用浮点型描述车的价格。

编写一个测试类,其中有一个修改价格方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main方法中输出修改过后的汽车信息。

public class ChangeCar{
public static void main(String[] args){
Car c=new Car();
c.carNum="辽B1111";
c.price=10;
System.out.println("before change ,the car's num and price is:"+c.carNum+" "+c.price);
changePrice(c);
System.out.println("After Change ,the car's price is:"+c.price);
}
public static void changePrice(Car c){
c.price=c.price*0.8;
}
}
class Car{
String carNum;
double price;
}
4.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。

小车类Car是Vehicle的子类,其中包含的属性有载人数loader。

卡车类Truck 是Car类的子类,其中包含的属性有载重量payload。

每个类都有构造方法和输出相关数据的方法。

参考答案:
class Vehicle
{
int wheels;
float weight;
Vehicle(int a,float b)
{
wheels=a;
weight=b;
}
void outData()
{
System.out.print("The vehicle's data:wheels:"+wheels+",weight:"+weight);
}
}
class Car extends Vehicle
{
int loader;
Car(int a,float b,int c)
{
super(a,b);
loader=c;
}
void outData()
{
super.outData();
System.out.print(",loader:"+loader);
}
}
class Truck extends Car
{
float payload;
Truck(int a,float b,int c,float d)
{
super(a,b,c);
payload=d;
}
void outData()
{
super.outData();
System.out.println(",payload:"+payload);
}
}
class Test
{
public static void main(String args[])
{
Vehicle v=new Vehicle(4,7);
v.outData();
System.out.println();
Car c=new Car(4,6,4);
c.outData();
System.out.println();
Truck t=new Truck(4,2,10,8);
t.outData();
}
}
5.定义一个接口CanFly,描述会飞的方法public void fly();分别定义类飞机和鸟,实现CanFly 接口。

定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,让飞机和鸟起飞。

参考答案:
interface CanFly
{
public void fly();
}
class Plane implements CanFly
{
public void fly()
{
System.out.println("飞机需借助螺旋桨飞上了天空。

");
}
}
class Bird implements CanFly
{
public void fly()
{
System.out.println("鸟需借助翅膀飞上了天空。

");
}
}
class Test
{
public static void main(String args[])
{
Plane p=new Plane();
Bird b=new Bird();
p.fly();
b.fly();
}
}。

相关文档
最新文档