Java程序设计考试实验说明及判分标准.docx
《Java程序设计考试实验说明及判分标准.docx》由会员分享,可在线阅读,更多相关《Java程序设计考试实验说明及判分标准.docx(14页珍藏版)》请在冰豆网上搜索。
Java程序设计考试实验说明及判分标准
邢台学院2013—2014学年第二学期期末考试
2012级电气大类本科专业《Java程序设计》实验试题
(本试卷满分100分,考试时间110分钟)
说明:
本实验考试分简单控制台编程题、简单GUI编程题、综合应用三个题型,每个题型设有A、B、C三个题目,每个学生以抽签的方式每个题型各抽一个题目,作为自己的考试题目。
考试过程中可能查看资料,但同学间不能相互交流,也不能传递任何资料。
考试结果由两位教师采用现场打分给出,程序不能运行的,不进行评分,按0分计。
70分为通过,低于70分为不通过。
不通过者三天内申请重考,每个学生有两次重考机会,重考时,重新抽签。
一.简单控制台编程题(26分)
A.编写一个简易学生管理系统。
1.功能要求:
能输入学生信息、输出学生信息。
(1)编写一个Student类,包括姓名、性别、年龄、专业四个属性。
(2)编写一个业务类ServeceImp,此类实现如下接口:
publicinterfaceServiceInterface{
publicvoidaddStudent(Studentstudent);
publicListgetStudents();
}
实现接口中定义的两个方法,addStudent()方法把一个Student对象保存到一个线性表中,getStudents()方法返回保存Student对象的线性表。
(3)编写一个带有主方法的启动类StuMain类,程序运行,输出如下主菜单,
(4)如输入“1”,则提示:
按提示输入学生信息后,生成Student对象,调用ServeceImp的addStudent方法,将Student对象添加到线性表中,程序返回到主菜单。
(5)如输入“2”,调用ServeceImp的getStudents()方法,获取存放学生信息的线性表,将其中的学生的信息逐条输出,而后程序返回到主菜单。
(6)如输入“0”,则输出“程序结束”,而后程序退出。
2.评分标准:
(1)正确编写Student类,得4分。
(2)正确编写ServeceImp类,得4分。
(3)正确编写StuMain类得12分,其中
Ø正确显示主菜单2分。
Ø能正确选择主菜单的功能2分。
Ø能正确输入学生信息2分。
Ø能将学生信息正确保存到线性表中2分。
Ø能正确获取学生信息线性表2分。
Ø能正确将学生信息线性表的学生信息逐条输出2分
(4)代码规范:
6分(标识符可理解性、正确缩进、运算符前后空格各2分)
B.编写一个简易员工管理系统。
1.功能要求:
能输入员工信息、输出员工信息。
(1)编写一个类,包括编号、姓名、性别、年龄四个属性。
(2)编写一个业务类ServeceImp,此类实现如下接口:
publicinterfaceServiceInterface{
publicvoidadd();
publicget(Stringno);
}
实现接口中定义的两个方法,add()方法把一个对象以编号no为键,保存到一个HashMap中。
get()方法以编号no为参数,从HashMap中获取相应的对象,并返回此对象。
(3)编写一个带有主方法的启动类StuMain类,程序运行,输出如下主菜单,
(4)如输入“1”,则提示:
按提示输入员工信息后,生成对象,调用ServeceImp的add()方法,将对象以相应的编号为键添加到HashMap中,程序返回到主菜单。
(5)如输入“2”,则提示:
按要求输入员工号,调用ServeceImp的ge()方法,获取存相应的员工对象,将员工信息输出,而后程序返回到主菜单。
(6)如输入“0”,则输出“程序结束”,而后程序退出。
2.评分标准:
(1)正确编写类,得4分。
(2)正确编写ServeceImp类,得4分。
(3)正确编写Main类得12分,其中
Ø正确显示主菜单2分。
Ø能正确选择主菜单的功能2分。
Ø能正确输入员工信息2分。
Ø能将员工信息正确保存到HashMap中2分。
Ø能正确从HashMap中获取员工信息2分。
Ø能正确将员工信息输出2分
(4)代码规范:
6分(标识符可理解性、正确缩进、运算符前后空格各2分)
C.编写一个简易图书管理系统。
1.功能要求:
能输入图书信息、输出图书信息。
(1)编写一个类,包括书名,作者,单价,出版社四个属性。
(2)编写一个业务类ServeceImp,此类实现如下接口:
publicinterfaceServiceInterface{
publicvoidadd();
publicget();
}
实现接口中定义的两个方法,add()方法把一个对象保存到一个Book数组中(数组的大小为1000)。
gets()方法返回保存Book对象的Book数组。
(3)编写一个带有主方法的启动类BookMain类,程序运行,输出如下主菜单,
(4)如输入“1”,则提示:
按提示输入图书信息后,生成对象,调用ServeceImp的add()方法,将对象Book数组中,程序返回到主菜单。
(5)如输入“2”,调用ServeceImp的getBooks()方法,获取存放图书信息的Book数组(要求此数组为实际存书的数组。
每个数组元素不能为null),将其中的图书的信息逐条输出,而后程序返回到主菜单。
(6)如输入“0”,则输出“程序结束”,而后程序退出。
2.评分标准:
(1)正确编写Book类,得4分。
(2)正确编写ServeceImp类,得4分。
(3)正确编写BookMain类得12分,其中
Ø正确显示主菜单2分。
Ø能正确选择主菜单的功能2分。
Ø能正确输入图书信息2分。
Ø能将图书信息正确保存到数组中2分。
Ø能正确获取图书数组2分。
Ø能正确将图书数组中的图书信息逐条输出2分
(4)代码规范:
6分(标识符可理解性、正确缩进、运算符前后空格各2分)
二.简单GUI编程题(34分)
A.
编写一个计算器程序,运行初始界面如右图所示:
1.功能要求:
可分别在“数1:
”文本域和“数2:
”文本域中输入两个数,选择某种运算符,单击“计算”按钮,则将结果显示到“结果:
”文本域中。
对除法运算,如除数为“0”,“结果:
”文本域中显示“除数不能为零”,如果“数1:
”和“数2:
”两个文本域中输入非数字,“结果:
”文本域中显示“输入格式有误”,
2.评分标准:
满分34分
(1)界面正确:
4分
(2)界面美观:
4分(在正确的基础上加分,不界面正确不正确,此项不加分)
(3)基本功能正确:
12分(加减乘除各3分)
(4)正确处理除数为0的情况:
4分
(5)正确处理文本域中输入格式错误:
4分
(6)代码规范:
6分(标识符可理解性、正确缩进、运算符前后空格各2分)
B.
编写一个程序,运行初始界面如右图所示:
3.功能要求:
可通过字体单选按钮、样式复选按钮、颜色单选按钮,设置“Java程序设计基础”的字体、样式和颜色。
(1)“Java程序设计基础”由JLabel实现,其背景为绿色。
(2)要求字体的大小是10号字,
(3)样式复选按钮中选择粗体时,采用样式;选择斜体时,采用样式;两者都选择时,两种都采用;两者都都不选时,采用样式。
4.评分标准:
满分34分
(1)界面正确:
4分
(2)界面美观:
4分(在正确的基础上加分,不界面正确不正确,此项不加分)
(3)基本功能正确:
20分(每项功能2分(包括样式复选按钮都不选的情况),字体大小正确2分,如果某个按钮的功能不能影响其它按钮的设置,如果影响了,此功能不得分。
)
(4)代码规范:
6分(标识符可理解性、正确缩进、运算符前后空格各2分)
C.编写一个程序,运行初始界面如右图所示:
5.
功能要求:
可通过单击“顺时针”按钮或“逆时针”按钮,使不同颜色的“马”向顺时针方向或逆时针移动一次。
(1)窗体采用边框布局。
(2)各颜色的“马”由JLabel实现,对齐方式为居中。
6.评分标准:
满分34分
(1)界面正确:
8分
(2)界面美观:
4分(在正确的基础上加分,不界面正确不正确,此项不加分)
(3)基本功能正确:
16分(每项功能8分(每正确转一次2分))
(4)代码规范:
6分(标识符可理解性、正确缩进、运算符前后空格各2分)
三.综合应用(40分)
设计实现一个简单的图书管理系统
1.功能说明
(1)系统启动的主窗口如右图所示。
此图体为一个JFrame,采用边框布局。
“North”格中放一个JLabel,其中文字为“图书管理系统”,JLabel的背景色为蓝色,前景色为黄色;“West”格中放一个JPanel,采用4行1列的的网络布局,放四个命令按钮作为主菜单,分别为“添加图书”、“删除图书”、“修改图书”和“查找图书”。
(2)单击“添加图书”按钮,在窗体的“Center”格中,如果有组件,删除这,并添加一个AddPanel,“添加图书”按钮变成不可用,如下图所示:
AddPanel采用边框布局,“North”格中放一TypePanel。
“Center”格中放一个完成具体操作的Panel,如果TypePanel中的“书籍”单选按钮,“Center”格中放AddBookPanel,“报纸”单选按钮,“Center”格中放AddPaperPanel,“期刊”单选按钮,“Center”格中放AddJournalPanel,在更换Panel时,要把原来的Panel移出。
TypePanel、AddBookPanel、AddPaperPanel、AddJournalPanel说明如下:
ØTypePanel如下图:
单击此Panel中的不同单行按钮,更换AddPanel“Center”格中的Panel。
ØAddBookPanel如下图:
在此Panel中的文本框中分别输入书名和作者,单击“保存”按钮,将生成Book对象,并调用ReadingServce的addReading(Readingreading)方法,将Book对象保存到线性表中。
单击“重置”按钮,清空两个文本框。
ØAddPaperPanel如下图:
在此Panel中的文本框中分别输入报纸名称、主管部门和报纸类型,单击“保存”按钮,将生成Paper对象,并调用ReadingServce的addReading(Readingreading)方法,将Paper对象保存到线性表中。
单击“重置”按钮,清空三个文本框。
ØAddJournalPanel如下图:
在此Panel中的文本框中分别输入期刊名称、主管部门和期刊类型,单击“保存”按钮,将生成Journal对象,并调用ReadingServce的addReading(Readingreading)方法,将Journal对象保存到线性表中。
单击“重置”按钮,清空三个文本框。
(3)单击“删除图书”按钮,在窗体的“Center”格中,如果有组件,删除之,并添加一个RemovePanel,“删除图书”按钮变成不可用,如下图所示:
RemovePanel采用边框布局,“North”格中放一TypePanel。
“Center”格中放一个完成具体操作的Panel,如果TypePanel中的“书籍”单选按钮,“Center”格中放RemoveBookPanel,“报纸”单选按钮,“Center”格中放RemovePaperPanel,“期刊”单选按钮,“Center”格中放RemoveJournalPanel,在更换Panel时,要把原来的Panel移出。
TypePanel、RemoveBookPanel、RemovePaperPanel、RemoveJournalPanel说明如下:
ØTypePanel如下图:
单击此Panel中的不同单行按钮,更换RemovePanel“Center”格中的Panel。
ØRemoveBookPanel如下图:
在此Panel中的文本框中分别显示书名和作者,单击“上一个”或“下一个”按钮将显示上一本或下一本书的信息。
单击“删除”按钮,并调用ReadingServce的removeReading(intid)方法,将删除当前显示的一本书,单击“重置”按钮,将刷新、并初始化文本框中显示的图书信息。
ØRemovePaperPanel如下图:
在此Panel中的文本框中分别显示报纸相关信息,单击“上一个”或“下一个”按钮将显示上一份或下一份的信息。
单击“删除”按钮,并调用ReadingServce的removeReading(intid)方法,将删除当前显示的一份报纸,单击“重置”按钮,将刷新、并初始化文本框中显示的报纸信息。
ØRemoveJournalPanel如下图:
在此Panel中的文本框中分别显示期刊相关信息,单击“上一个”或“下一个”按钮将显示上一份或下一份的信息。
单击“删除”按钮,并调用ReadingServce的removeReading(intid)方法,将删除当前显示的一份期刊,单击“重置”按钮,将刷新、并初始化文本框中显示的期刊信息。
(4)单击“修改图书”按钮,在窗体的“Center”格中,如果有组件,删除之,并添加一个ModifyPanel,“修改图书”按钮变成不可用,如下图所示:
ModifyPanel采用边框布局,“North”格中放一TypePanel。
“Center”格中放一个完成具体操作的Panel,如果TypePanel中的“书籍”单选按钮,“Center”格中放ModifyBookPanel,“报纸”单选按钮,“Center”格中放ModifyPaperPanel,“期刊”单选按钮,“Center”格中放ModifyJournalPanel,在更换Panel时,要把原来的Panel移出。
TypePanel、ModifyBookPanel、ModifyPaperPanel、ModifyJournalPanel说明如下:
ØTypePanel如下图:
单击此Panel中的不同单行按钮,更换RemovePanel“Center”格中的Panel。
ØModifyBookPanel如下图:
在此Panel中的文本框中分别显示书名和作者,单击“上一个”或“下一个”按钮将显示上一本书或下一本书的信息。
如果修改文本框中的信息,单击“保存”按钮,并调用ReadingServce的modifyReading(Readingreading)方法,将当前显示的一本书的信息进行修改,单击“重置”按钮,将刷新、并初始化文本框中显示的图书信息。
ØModifyPaperPanel如下图:
在此Panel中的文本框中分别显示报纸相关信息,单击“上一个”或“下一个”按钮将显示上一份或下一份的信息。
如果修改文本框中的信息,单击“保存”按钮,并调用ReadingServce的modifyReading(Readingreading)方法,将当前显示的一份报纸的信息进行修改,,单击“重置”按钮,将刷新、并初始化文本框中显示的报纸信息。
ØModifyJournalPanel如下图:
在此Panel中的文本框中分别显示期刊相关信息,单击“上一个”或“下一个”按钮将显示上一份或下一份的信息。
如果修改文本框中的信息,单击“保存”按钮,并调用ReadingServce的modifyReading(Readingreading)方法,将当前显示的一份期刊的信息进行修改,,单击“重置”按钮,将刷新、并初始化文本框中显示的期刊信息。
(5)单击“查找图书”按钮,在窗体的“Center”格中,如果有组件,删除之,并添加一个FindPanel,“查找图书”按钮变成不可用,如下图所示:
FindPanel采用边框布局,“North”格中放一TypePanel。
“Center”格中放一个完成具体操作的Panel,如果TypePanel中的“书籍”单选按钮,“Center”格中放FindBookPanel,“报纸”单选按钮,“Center”格中放FindPaperPanel,“期刊”单选按钮,“Center”格中放FindJournalPanel,在更换Panel时,要把原来的Panel移出。
TypePanel、FindBookPanel、FindPaperPanel、FindJournalPanel说明如下:
ØTypePanel如下图:
单击此Panel中的不同单行按钮,更换RemovePanel“Center”格中的Panel。
ØFindBookPanel如下图:
在此Panel中的文本框中分别显示书名和作者,单击“上一个”或“下一个”按钮将显示上一本或下一本书的信息。
如果在书名文本框中输入一个书名,单击“查找”按钮,并调用ReadingServce的findReading(Stringname,inttype)方法,查找到的所有同名的图书,单击“上一个”或“下一个”按钮将显示上本书或下一本同名的书的信息。
ØFindPaperPanel如下图:
在此Panel中的文本框中分别显示显示报纸相关信息,单击“上一个”或“下一个”按钮将显示上一份或下一份报纸书的信息。
如果在报纸名称文本框中输入一个报纸名称,单击“查找”按钮,findReading(Stringname,inttype)方法,查找到的所有同名的报纸,单击“上一个”或“下一个”按钮将显示上一份或下一份同名的报纸的信息。
ØFindJournalPanel如下图:
在此Panel中的文本框中分别显示期刊相关信息,单击“上一个”或“下一个”按钮将显示上一份或下一份期刊的信息。
如果在期刊名称文本框中输入一个期刊名称,单击“查找”按钮,findReading(Stringname,inttype)方法,查找到的所有同名的期刊,单击“上一个”或“下一个”按钮将显示上一份或下一份期刊同名的期刊的信息。
2.题型、要求及评分标准
本题部分功能已实现,只要求学生实现一项主要功能,分为A、B、C三个题型:
A.添加图书、删除图书、查找图书的功能已实现,不要修改相应的代码。
只需要完成修改功能。
⏹评分标准
(1)业务类业务方法实现:
8分(正确8分,不正确不得分)
(1)界面:
12分(书籍、报纸、期刊各4分)
(3)功能选择:
12分(主菜单选择、书籍、报纸、期刊选择各3分)
(3)功能实现:
8分(上一个、下一个、删除、重置2分)
B.添加图书、修改图书、查找图书的功能已实现,不要修改相应的代码。
只需要完成删除功能。
⏹评分标准
(1)业务类业务方法实现:
8分(正确8分,不正确不得分)
(1)界面:
12分(书籍、报纸、期刊各4分)
(3)功能选择:
12分(主菜单选择、书籍、报纸、期刊选择各3分)
(3)功能实现:
8分(上一个、下一个、删除、重置2分)
C.删除图书、修改图书、查找图书的功能已实现,不要修改相应的代码。
只需要完成添加功能。
⏹评分标准
(1)业务类业务方法实现:
6分(正确6分,不正确不得分)
(1)界面:
12分(书籍、报纸、期刊各4分)
(3)功能选择:
12分(主菜单选择、书籍、报纸、期刊选择各3分)
(3)功能实现:
10分(保存6分,重置4分)