郑州大学远程教育java作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州大学现代远程教育《JAVA程序设计》
课程考核要求
说明:本课程考核形式为提交作业,完成后请保存为WORD 2003格式的文档,登陆学习平台提交,并检查和确认提交成功(能够下载,并且内容无误即为提交成功)。
一.作业要求
1.请独立自主完成作业。
二.作业内容
1.简答题
1)描述面向对象的三个重要特性(封装性、继承性、多态性)。
答:
1)封装性:封装指的是将一个数据和与这个数据有关的操作集合放在一起,形成一个能动的实体----对象。
封装有双重含义:包装和信息隐藏
封装和继承是面向对象方法中互补的两种技术。
2)继承性:面向对象的程序设计语言的许多强有力的功能,来自于将它的类组成一个层次结构(类等级)。
一个类的上层可以有父类,下层可以有子类。
这种层次结构的一个重要性质是继承性,一个类直接继承其父类的全部描述(数据和函数)。
继承又具有传递性。
3)多态性:指类等级的各层中共享(公有)一个行为(函数)的名字,然而类等级中各类却各自按各自的需要来实现这个行为。
多态性的实现需要借助于面向对象的动态连接、重载的机制来支持
Java多态性的主要表现形式有:继承多态、抽象多态、接口多态
2)描述java的流的分类以及相应的基类。
答:java的流两种基本流:Input stream(输入流), Output stream(输出流),
按照流式I/O类根据操作的数据类型分成两个层次体系:字节流和字符流。
InputStream和OutputStream是字节流的基类
Reader和Writer是字符流的的基类
按结构分类:这些流相对于程序的另一个端点不同
Node Stream(节点流):从特定源如磁盘文件或内存某区域进行读或写入。
Filter Steam(过滤流):使用其它的流作为输入源或输出目的地
3)举例说明监听器方式的事件处理机制。
答:Java在GUI的组件事件响应上把组件的事件响应代码放入一个监听器对象中。
将监听器对象注册到相应组件就可响应相应事件。
编写相应的程序可免去语言描述,或者如下描述也可:
包含事件处理的程序应该包括以下三部分内容:
1.)在事件处理类的声明中指定要实现的监听器名,如:
public class MyClass implements ActionListener {
…
}
2.)实现监听器中的接口,如:
public void actionPerformed(ActionEvent e) {
...//响应某个动作的代码...
}
3.)在一个或多个组件上将监听器类的实例注册为监听器,如:
someComponent.addActionListener(instanceOfMyClass);
2.读程序题
1)程序P erson,要求注释带标号1,2,3,4等的句子,并给出程
序的运行结果。
class Person{//1.类声明
int age;
public Person(){ } //2.类的默认构造方法
public Person(int age){
this.age = age //3.通过this.age指向当前对象的age属性,然后赋值
}
void shout(){ //4. 类的方法
System.out.println(“oh,my god! I am “ + age);
}
}
2)读下面程序,并分析出程序运行结果。
public class String1 {
public static void main(String[] args) {
char aChar = 't';
if (Character.isUpperCase(aChar)){
System.out.println ("The character "+ aChar+ "is upper case.");
}else{
System.out.println ("The character" + aChar+ "is lower case.");
}
}
}
答:给字符变量赋值,并判断字符是不是大写,如果字符是大写就输出字符是大写,如果不是大写,就输出字符是小写。
3)读下面程序,写出程序的主要功能。
import java.io.*;
public class StandardIO{
public static void main(String[] args){
String s;
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Please input : ");
try{
s = in.readLine();
while(!s.equals("exit")){
System.out.println(" read: "+s);
s = in.readLine();
}
System.out.println("End of Inputing.");
in.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
答:从标准输入中读取字符串,并在标准输出显示
3.程序设计题目(要求适当加上程序注释。
)
1)用while预计复制字符串copyFromMe到字符串copyToMe中。
答:public class WhileDemo {
public static void main(String[] args) {
String copyFromMe = "Copy this string until you encounter the letter 'g'.";
StringBuffer copyToMe = new StringBuffer();
int i = 0;
char c = copyFromMe.charAt(i);
while (c != 'g') {
copyToMe.append(c);
c = copyFromMe.charAt(++i);
}
System.out.println(copyToMe);
}
}
2)编写程序片段,定义表示课程的类Course。
课程的属性包括课
名、编号、先修课号;方法包括设置课程名、设置编号以及获取课程名、获取编号。
创建Course类的对象,设置并打印输出该对象的课程名、编号。
(要求:写3个重载的构造方法)。
答:public class Course{
String courseName;
int CourseNo;
public Course(){this ("default")};
public Course(String courseName)
{
this(courseName, 1001);
}
public course (String courseName ,int no)
{
this.courseName = courseName;
This.CourseNo = no;
}
public String getCourseName (){
return courseName;
}
public void setCourseName (String courseName){
this.courseName = courseName;
}
public int getCourseNo (){
return courseNo;
}
public void setCourseNo (int courseNo){
this.courseNo = courseNo;
}
}
class Test {
public static void main (String args []){
Course aa =new Course();
System.out.println("name: "+aa.getCourseName());
System.out.println(" no: "+aa.getCourseNo() );
}
3)编写Applet,在坐标(25,25)处显示一个字符串“我是一个
Applet程序”。
答:
import java.awt.Graphics;
import java.applet.Applet;
public class HelloWorld extends Applet{
public void paint(Graphics g){ g.drawString("我是一个Applet程序",25,25); }
}。