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架构模式每个章节的课后答案通常包括理论问题和编程练习题的解答。

  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();
}
}。

相关文档
最新文档