版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程名称面向对象程序设计实验项目编号1505P001803实验项目名称类与对象实验学时4学时实验日期2016.10.成绩学生学号学生姓名李敏杰实验地点敬信楼517指导教师党向盈一、实验目的1.掌握类的定义和使用、对象的声明和创建;2.理解构造方法的作用,掌握构造方法定义和使用;3.理解类变量与实例变量,类方法与实例方法的区别;4.掌握包的概念与使用。 二、实验内容及要求1、编程创建一个立方体类Cube,在其中定义三个变量length,width,height分别表示一个立方体的长、宽和高,再定义一个方法setCube对这三个变量进行初始化,然后定义求立方体的体积和表面积的方法。(1)编写一个测
2、试类,在main方法中创建立方体对象,求给定尺寸的立方体的体积和表面积,并输入结果。(2)改用构造方法实现长、宽和高的初始化。(3)测试类放在包名为com.sy3.exe01.test包中,其它类放在com.sy3.exa01包中。(知识点:类的定义,对象的创建,构造方法的使用)(注意:如果需要从键盘输入长宽高的数据时,请从测试类的main方法中输入,程序的其它地方只接受传递的参数)代码如下:package com.sy3.exa01;class Cube privatefloatwidth; privatefloatheight; privatefloatlength;/ 定义有参构造方法初
3、始化属性public Cube(float width, float height, float length) this.width = width;this.height = height; this.length = length;/ 定义求立方体体积的方法publicfloat volume() returnwidth*height*length;/定义求立方体表面积的方法publicfloat Surface_area()return 2*(width*height+width*length+height*length);publicclass Exp03_01_2013050143
4、9 publicstaticvoid main(String args) Cube c=new Cube(7,8,9);System.out.println(立方体的体积为:+c.volume();System.out.println(立方体的表面积为:+c.Surface_area();/1、编程创建一个立方体类Cube,在其中定义三个变量length,width,height分别表示一个立方体的长、宽和高,/再定义一个方法setCube对这三个变量进行初始化,然后定义求立方体的体积和表面积的方法。/(1)编写一个测试类,在main方法中创建立方体对象,求给定尺寸的立方体的体积和表面积,并输
5、入结果。/(2)改用构造方法实现长、宽和高的初始化。/(3)测试类放在包名为com.sy3.exe01.test包中,其它类放在com.sy3.exa01包中。/(知识点:类的定义,对象的创建,构造方法的使用)/(注意:如果需要从键盘输入长宽高的数据时,请从测试类的main方法中输入,程序的其它地方只接受传递的参数)package com.sy3.exe01.test;import java.util.Scanner;class Cube privateintwidth;privateintheight;privateintlength;public Cube() width=setwidth
6、();height=setheight();length=setlength();/ TODO 自动生成的构造函数存根privateint setwidth() Scanner sa = new Scanner(System.in);width = sa.nextInt();returnwidth;privateint setheight() Scanner sb = new Scanner(System.in);height = sb.nextInt();returnheight;privateint setlength() Scanner sc = new Scanner(System.i
7、n);length = sc.nextInt();returnlength;/ 定义求立方体体积的方法publicint volume() System.out.println(width+t+height+t+length);returnwidth * height * length;/ 定义求立方体表面积的方法publicint Surface_area() System.out.println(width+t+height+t+length);return 2 * (width * height + width * length + height * length);publicclas
8、s 测试类 /* * 班级:15计单1班 * 学号:20130501439 * 姓名:李敏杰 * 实验时间:2016-10-4,10-11 * 本程序的功能是:求立方体的体积和表面积 */publicstaticvoid main(String args) / TODO 自动生成的方法存根Cube c1=new Cube();System.out.println(立方体的体积为:+c1.volume();System.out.println(立方体的表面积为:+c1.Surface_area();运行结果如下:2、设计并实现一个课程类,代表学校中的一门课程,将这门课程的相关信息组成该类的属性(
9、如课程代码、课程名称、课程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。课程号课程名学分学时课程类型courIdcourNamecourCreditcourHourscourTypeE052026Linux操作系统356专业选修S052005面向对象程序设计56专业教育S052006面向对象程序设计实验132专业教育S052037数据库原理及应用348专业教育S052011数据库原理及应用实验132专业教育S052049操作系统464专业
10、教育要求:(1)创建一个课程类Course,定义该类的各个属性(如上表第二行),为个属性设置相应的setter/getter方法。(2)定义一个没有参数和带有全部参数的构造方法。(3)重写toString()方法,返回课程的信息。(4)在该类中定义一个类变量passingScore,及格标准为60.(5)新建测试类,在main方法中创建一个大小为6的课程数组,把上面表格中的6门课信息保存在该数组中。利用增强型循环输出课程的信息。(6)在测试类中定义一个静态方法printCourses(Course courses),通过该方法输出课程中的信息。(7)在测试类中定义一个静态方法printCour
11、ses(Course courses,float credit),通过该方法输出学分等于credit的课程信息。(8)测试类放在包名为com.sy3.exe02.test包中,其它类放在com.sy3.exa02包中。(知识点:类的定义,对象的创建,构造方法的使用,对象数组,静态变量和静态方法,方法重载)(注意:课程的信息可以直接给定,不一定要通过键盘输入)代码如下:package com.sy3.exa02;publicclass Course public String courid;public String courname;public String courcredit;publi
12、c String courhours;public String courtype;publicintpassingScore;Course()courid=;courname=;courcredit=;courhours=;courtype=;passingScore=60;public Course(String incourid,String incourname,String incourcredit,String incourhours,String incourtype)setID(incourid);setName(incourname);setCredit(incourcred
13、it);setHours(incourhours);setType(incourtype);publicvoid setType(String incourtype) courtype=incourtype;publicvoid setHours(String incourhours) courhours=incourhours;publicvoid setCredit(String incourcredit) courcredit=incourcredit;publicvoid setName(String incourname) courname=incourname;publicvoid
14、 setID(String incourid) courid=incourid;public String getcourtype()returncourtype;public String getcourname()returncourname;public String getcourid()returncourid;public String getcourhours()returncourhours;Overridepublic String toString() returnCourse courid= + courid + , courname= + courname+ , cou
15、rcredit= + courcredit + , courhours= + courhours+ , courtype= + courtype + , passingScore= + passingScore+ ;public String getcourcredit()returncourcredit;publicvoid ToString()System.out.println(getcourid()+tt+getcourname()+tt+getcourcredit()+ttt+getcourhours()+ttt+getcourtype();/组成该类的属性(如课程代码、课程名称、课
16、程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。/课程号课程名学分学时课程类型/courIdcourNamecourCreditcourHourscourType/E052026Linux操作系统356专业选修/S052005面向对象程序设计56专业教育/S052006面向对象程序设计实验132专业教育/S052037数据库原理及应用348专业教育/S052011数据库原理及应用实验132专业教育/S052049操作系统464专业教育pa
17、ckage com.sy3.exe02.test;import com.sy3.exa02.*;publicclass 测试类 /* * 班级:15计单1班 * 学号:20130501439 * 姓名:李敏杰 * 实验时间:2016-10-4,10-11 * 本程序的功能是:打印输出课程基本信息 */publicstaticvoidExp03_02_20130501439(String args) /System.out.println(课程表 + t + 课程名 + tt + 学分 + t + 学时+ t + 课程类型);Course cour = new Course6;cour0 = n
18、ew Course(E052026, Linux操作系统, 3, 56, 专业选修);cour1= new Course( S052005, 面向对象程序设计, 3.5, 56, 专业教育);cour2= new Course(S052006, 面向对象程序设计实验, 1, 32, 专业教育 );cour3= new Course( S052037, 数据库原理及应用, 3, 48, 专业教育 );cour4= new Course(S052011, 数据库原理及应用实验, 1, 32, 专业教育 );cour5= new Course(S052049, 操作系统t, 4, 64, 专业教育
19、);System.out.println(增强型输出数组:);for (Course i : cour) System.out.print(i.toString() + t);System.out.println();System.out.println();printCourses(cour);float credit=(float) 3.5;printCourses(cour,credit);privatestaticvoid printCourses(Course courses, float credit) System.out.println(静态方法printCourses输出学分
20、等于credit的课程信息);for(Course i:courses)if(i.courcredit).equals(Float.toString(credit)/判断两个字符串类的内容是否相等 Float是包装类 P191System.out.print(i+t);System.out.println();System.out.println();publicstaticvoid printCourses(Course courses)System.out.println(静态方法printCourses);for(Course i1:courses)System.out.print(i1
21、+t);System.out.println();System.out.println();/ 设计并实现一个课程类,代表学校中的一门课程,将这门课程的相关信息/ 组成该类的属性(如课程代码、课程名称、课程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。/ 课程号 课程名 学分 学时 课程类型/ courId courName courCredit courHours courType/ E052026 Linux操作系统 3 56 专业选
22、修/ S052005 面向对象程序设计 3.5 56 专业教育/ S052006 面向对象程序设计实验 1 32 专业教育/ S052037 数据库原理及应用 3 48 专业教育/ S052011 数据库原理及应用实验 1 32 专业教育/ S052049 操作系统 4 64 专业教育/ 要求:/ (1)创建一个课程类Course,定义该类的各个属性(如上表第二行),为个属性设置相应的setter/getter方法。/ (2)定义一个没有参数和带有全部参数的构造方法。/ (3)重写toString()方法,返回课程的信息。/ (4)在该类中定义一个类变量passingScore,及格标准为60
23、./ (5)新建测试类,在main方法中创建一个大小为6的课程数组,把上面表格中的6门课信息保存在该数组中。利用增强型循环输出课程的信息。/ (6)在测试类中定义一个静态方法printCourses(Course courses),通过该方法输出课程中的信息。/ (7)在测试类中定义一个静态方法printCourses(Course courses,float/ credit),通过该方法输出学分等于credit的课程信息。/ (8)测试类放在包名为com.sy3.exe02.test包中,其它类放在com.sy3.exa02包中。/ (知识点:类的定义,对象的创建,构造方法的使用,对象数组,
24、静态变量和静态方法,方法重载)/ (注意:课程的信息可以直接给定,不一定要通过键盘输入)运行结果如下:3、设计并实现一个“信电工程学院学生通信录”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作。学生通信录信息的存储可采用数组的方式。要求:(1)新建一个学生信息类StudentInfo,定义该类的各个属性(如下表第二行),变量的访问修饰符为private,为个属性设置相应的setter/getter方法。(2)为StudentInfo类定义三个构造方法,一个没有参数,一个带有学号、姓名、性别及班级四个参数,一个带有全部参数。(
25、3)在StudentInfo类中定义显示学生信息的方法 void showStuInfo()。(4)创建一个通讯录类Contacts,在该类中定义一个能最大能容纳100个学生的对象数组students,该数组用于保存学生信息,定义一个表示当前有几个学生信息的变量count,该变量类型为整型。变量的访问修饰符为private,为个属性设置相应的setter/getter方法。(5)在Contacts类中定义添加学生信息、修改学生信息和删除学生信息,以及查找学生信息的方法。 void append(StudentInfo student) /在添加学生信息时,学号要保证是唯一的,且保证没有超过最大
26、100人。 void update(StudentInfo newStudent,String stuId) /根据学号进行修改 void delete(String stuId) /根据学号删除学生信息 Student findByStuId(String stuId) /根据学号查找某个学生信息 Student findByStuClass(String stuClass) /根据班级查找某个班里学生信息 Student find() /查找所有学生信息(6)创建测试类,根据输入的命令参数完成学生通讯录信息的“增加”、“删除”、“修改”、“查找”等功能。(7)测试类放在包名为com.sy3
27、.exe03.test包中,其它类放在com.sy3.exa03包中。(知识点:类的定义,对象的创建,构造方法的重载,对象数组,对象与对象之间的关系)(注意:参考数据如下,所有数据的输入都在测试类里完成)学号姓名性别出生日期班级名称联系电话QQ号码stuIdstuNamestuSexstuBirthstuClassstuTelstuQQ20130501401刘丹女1992/10/213网络1单7843782 20130501402徐小怡女1992/10/313网络1单273464 20130501404赵蒙女1992/10/413网络2单9043550 20130501405陈冰倩女1992/
28、10/513网络2单8397231 20130501406张琦琦女1992/10/613网络2单8244973 20130501407施锦烨女1992/10/713网络3单4137413 代码如下:package com.sy3.exe03.test;import java.util.Scanner;import com.sy3.exa03.Contacts;import com.sy3.exa03.StudentInfo;public class 测试类 /* * 班级:15计单1班 * 学号:20130501439 * 姓名:李敏杰 * 实验时间:2016-10-4,10-11 * 本程序
29、的功能是:添加学生信息、修改学生信息和删除学生信息,以及查找学生信息 */public static void Exp_03_03_20130501439(String args) Contacts ct = new Contacts();Scanner ss=new Scanner(System.in);System.out.println(欢迎使用信电工程学院通讯录系统!); for(;)int i;String id;System.out.println(1:添加学生信息t2:按学号删除学生信息r3:按学号查找学生信息t4:班级查找学生信息r5:输出全部学生的信息t6:退出系统);i=s
30、s.nextInt();if(i=1)System.out.println(请输入添加学生信息:stuId,stuName,stuSex,stuBirth,stuClass,stuTel,stuQQ);System.out.println(参考数据如下r+20130501401刘丹女1992/10/213网络1单7843782r+20130501402徐小怡女1992/10/313网络1单273464r +20130501404赵蒙女1992/10/413网络2单9043550r +20130501405陈冰倩女1992/10/513网络2单8397231r+/20130501406张琦琦女1
31、992/10/613网络2单8244973r +20130501407施锦烨女1992/10/713网络3单4137413 );ct.append(new StudentInfo();/ss.next(),ss.next(),ss.next(),ss.next(),ss.next(),ss.next(),ss.next()else if(i=2)System.out.println(请输入需要删除学生学号;stuId);id=ss.next();ct.Delete(id);else if(i=3)System.out.println(请输入需要查找学生的学号;stuId);id=ss.next
32、();ct.findByStuId(id);else if(i=4)System.out.println(请输入需要查找学生的班级;stuClass);id=ss.next();ct.findByStuClass(id);else if(i=5)System.out.println(输出全部学生的信息);ct.find();else if(i=6)System.out.println(感谢使用信电工程学院通讯录系统!r欢迎再次使用t再见!);break;elseSystem.out.println(输入有误请重新输入:);package com.sy3.exa03;import com.sy3
33、.exa03.StudentInfo;publicclass Contacts private StudentInfo stu = new StudentInfo100;/ 存放学生信息privateintcount = 0;publicvoid append(StudentInfo student) if (count 100) System.out.println(当前容量已满); else stu0=new StudentInfo(stuId,stuName,stuSex,stuBirth,stuClass,stuTel,stuQQ );student.getInfo();stu+cou
34、nt = student;for(int i=0;icount;i+)if(stucount.getstuId().equals(stui.getstuId()count-;System.out.println(输入学号重复!);/System.out.println(有效);for (int i = 0; i count+1; i+) stui.showStuInfo();publicvoid find() for (int i = 0; i count+1; i+) stui.showStuInfo();publicvoid findByStuId(String stuId) for (i
35、nt i = 0; i count+1; i+) if (stui.getstuId().equals(stuId)stui.showStuInfo();publicvoid findByStuClass(String stuClass) for (int i = 0; i count+1; i+) if (stui.getstuClass().equals(stuClass)stui.showStuInfo();/else System.out.println(未找到您查询的班级学生信息!);publicvoid Delete(String id) for (int i = 0; i cou
36、nt+1; i+) if (stui.getstuId().equals(id) for (int j = i; j count; j+) stuj = stuj + 1;/stustu.length = null;count-;/else System.out.println(您输入的学号不存在);for (int i = 0; i count+1; i+) stui.showStuInfo();package com.sy3.exa03;import java.util.Scanner;publicclass StudentInfo private String stuId;private
37、 String stuName;private String stuSex ;private String stuBirth;private String stuClass;private String stuTel;private String stuQQ;public StudentInfo() stuId = ;stuName = ;stuSex = ;stuBirth = ;stuClass = ;stuTel = ;stuQQ = ;public StudentInfo(String stuId, String stuName, String stuSex,String stuClass) this.stuId = stuId;this.stuName = stuName;this.stuSex = stuSex;stuBirth = ;this.stuClass = stuClass;stuTel = ;stuQQ = ;public StudentInfo(String stuId, String stuName, String stuSex,String stuBirth, String stuClass, String stuTel, String stuQQ) this.stuId = stuId;this.stuName = stuName;this.stu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年地质工程师考试《工程地质学基础》备考题库及答案解析
- 2025年厨师资格考试《刀工技术》备考题库及答案解析
- 软件开发合同协议2025年
- 汽车租赁保险补偿协议2025
- 民宿预订协议2025
- 2025年新员工入职培训体系考试试题及答案
- 2025年企业年终奖发放政策与税务筹划考试试题及答案
- 建筑兼职施工合同协议2025年
- 嘉兴塔吊出租合同范本
- 商业招商租赁合同范本
- 2025年配电安规知识考试题附答案
- 企业行政管理制度模板库
- 2025年党员干部在委理论学习中心组“改文风转作风”专题研讨会上的交流发言范文
- 安全生产第四季度工作计划
- 湖北中烟2025年招聘综合测试h
- 巴厘岛旅游攻略
- 机关单位档案数字化管理办法
- 支委会会议记录1一12月
- 2025年河北省政府采购评审专家考试真题含答案
- 新教科版小学1-6年级科学需做实验目录
- 医院第九届职工代表大会换届选举实施方案
评论
0/150
提交评论