最新JAVA语言与面向对象程序设计课后习题答案
1
第1章面向对象软件开发概述
2
1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向3
过程的编程语言各两种。
4
答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更5
接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世6
界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。
7
面向过程的编程语言:C,Pascal, Foratn。
8
面向对象的编程语言:C++, Java,C#。
9
2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽10
象出对象的概念。
11
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中12
的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有13
具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是14
类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一15
个具体的电视机,如“我家那台电视机”。
16
3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学17
生”,试为这个对象设计状态与行为。
18
答:对象都具有状态和行为。
19
对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是20
变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的21
状态。
22
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变23
对象的状态。
24
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、25
入学成绩等;
26
学生的行为:自我介绍、入学注册、选课、参加比赛等。
27
4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”
28
与对象“大学生”是什么关系?
29
答:对象间可能存在的关系有三种:包含、继承和关联。
30
对象“班级”与对象“学生”是包含关系。
31
对象“学生”与对象“大学生”是继承关系。
32
5.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么?
33
答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的34
继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。
35
6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模36
型的基础上引入了哪些工作?
37
答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented 38
analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实39
现(Object oriented programming,OOP)三个阶段。
40
面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规41
范地表述这一需求,最后将形成面向对象的分析模型。
42
面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分43
的内容。
44
7.面向对象的程序设计方法有哪些优点?
45
答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这46
些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可47
重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。
48
第2章 Java概述
49
1.简述Java编译和运行的基本方法。
50
答:编译可以使用JDK中的工具javac.exe。例如:
51
javac HelloWorldApp.java
52
运行Java程序则可以使用JDK提供的解释器是java.exe。例如:
53
java HelloWorldApp
54
2.下载并安装JDK软件包,3.尝试查看其中的JDK文档。
55
答: Java编程的基本工具包是JDK(Java Development Kit)。JDK是Sun公司免费56
提供的开发、运行Java程序的基本软件,它可以在Windows及Unix两种平台下使用。
57
常用的版本是JDK1.2.2, JDK1.3.0,JDK1.4等。可以从https://www.360docs.net/doc/057448983.html,网站58
下载较新的版本,如JDK1.5(也称为JDK5.0)。
59
JDK文档也可以从网上下载。
60
3.编写一个Java Application,利用JDK软件包中的工具编译并运行这个程序,61
在屏幕上输出“Welcome to Java World!”。
62
答:见程序。
63
public class Ex2_3
64
{
65
public static void main(String[] args)
66
{
67
System.out.println("Welcom to java vorld");
68
}
69
}
70
4.编写一个Java Applet,使之能够在浏览器中显示“Welcome to Java Applet 71
World!”的字符串信息。
72
答:见程序。import java.awt.*;
73
import java.applet.*;
74
public class Ex2_4 extends Applet { //an applet
75
public void paint(Graphics g){
76
g.drawString ("Welcome to Java Applet World!",20,20);
77
}
78
}
79
5.编写一个HTML文件,将上题中生成的Applet字节码嵌入其中,并用WWW浏览器80
观看这个HTML文件规定的Web页面。
81
答:与上一题同。
82
6.编写一个程序,能够从键盘上接收两个数字,然后计算这两个数的积。
83
答:见程序。import java.io.*;
84
public class Ex2_6
85
{
86
public static void main(String[] args)
87
{
88
String s = "";
89
double c = 0;
90
double d = 0;
91
try{
92
BufferedReader in = new BufferedReader(
93
new InputStreamReader( System.in ) );
94
System.out.print("请输入一个数: ");
95
s = in.readLine();
96
c = Double.parseDouble( s );
97
System.out.print("请输入另一个数: ");
98
s = in.readLine();
99
d = Double.parseDouble( s );
100
}catch(IOException e){}
101
System.out.println("这两个数的积为: " + (c * d) );
102
}
103
}
104
7.编写一个程序,从两个文本框中接收两个数字,然后计算这两个数的积。105
答:见程序。import java.applet.*;
106
第3章 面向对象程序设计基础
第3章面向对象程序设计基础
第3章面向对象程序设计基础 【1】什么是Java程序使用的类?什么是类库? 答:类是将一类事物的特性描述出来,然后如果用这个类来定义对象,则该对象就拥有了这个类所描述的所有特性。 在Java系统中,系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合称为一个包,所有包合称为类库。 【2】如何定义方法?在面向对象程序设计中方法有什么作用? 答:方法的定义由两部分组成:方法声明和方法体。 方法的声明如下: 返回值类型方法名(参数类型形式参数1,参数类型形式参数2…){ 程序代码; 返回值; } 在面向对象程序设计中,方法的作用是完成对类和对象属性操作。 【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。 void Student(int no,String name) {
studentNo=no; studentName=name; return no; } 答:构造方法的功能是:构造方法是一个特殊的方法,主要用于初始化新创建的对象; 特点:构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。 错误之处:(1)构造方法Student()前不能加void,(2)不能用return语句,(3)类名Student 首字母S改成小写s. 【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。 class Student { String id; String name; String sex; int age; void talk(){
JAVA语言与面向对象程序设计课后习题答案
第1章面向对象软件开发概述 1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。 答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。 面向过程的编程语言:C,Pascal,Foratn。 面向对象的编程语言:C++,Java,C#。 2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。 答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。 3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。 答:对象都具有状态和行为。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。 行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。 学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等; 学生的行为:自我介绍、入学注册、选课、参加比赛等。 4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系? 答:对象间可能存在的关系有三种:包含、继承和关联。 对象“班级”与对象“学生”是包含关系。 对象“学生”与对象“大学生”是继承关系。 5.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么? 答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。 6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作? 答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。 面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。 面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。 7.面向对象的程序设计方法有哪些优点? 答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。
c++面向对象程序设计大作业
《面向对象程序设计》 大作业 题目学生成绩管理系统 学院 专业 班级 姓名 指导教师 2015 年11 月11 日
目录 一大作业的目的 (1) 二大作业的内容............................ . .. (2) 三大作业的要求与数据............... ...... . (3) 四大作业应完成的工作.................. . (4) 五总体设计(包含几大功能模块)........... . (5) 六详细设计(各功能模块的具体实现算法——流程图) (6) 七调试分析(包含各模块的测试用例,及测试结果) (7) 八总结 (8) 十参考资料 (9)
一大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 二大作业的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C++语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录 的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!
04747java语言程序设计(一)20120年01月试卷
全国2012年1月高等教育自学考试 Java语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共l0分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下面供选字符序列中,不属于 ...Java语言关键字的是( ) A.inner B.throw C.false D.throws 2.表达式“-1>>>1”的十进制值是( ) A.-2 B.231-1 C.-(231-1) D.232-1 3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.子类必须实现父类未实现的方法 B.没有具体实现代码 C.必须要有实例 D.不能被继承 4.表达式"java程序设计".1ength()的值是( ) A. 0 B.12 C. 8 D.13 5.以下关于BorderLayout布局的叙述中,不正确 ...的是( ) A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域 C.是框架窗口的默认布局 D.一个位置可直接放多个组件 6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( ) A.accept()和getSelectedFile() B.accept()和getDescription() C.accept()和setDescription() D.setDescription()和getDescription() 7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( ) A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 浙04747# Java语言程序设计(一)试卷第1页(共12页)