实验3_20130501439_李敏杰.docx_第1页
实验3_20130501439_李敏杰.docx_第2页
实验3_20130501439_李敏杰.docx_第3页
实验3_20130501439_李敏杰.docx_第4页
实验3_20130501439_李敏杰.docx_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程名称面向对象程序设计实验项目编号1505P001803实验项目名称类与对象实验学时4学时实验日期2016.10.4,10.11成绩学生学号学生姓名李敏杰 实验地点敬信楼517指导教师党向盈实验三 类与对象一、实验目的1.掌握类的定义和使用、对象的声明和创建;2.理解构造方法的作用,掌握构造方法定义和使用;3.理解类变量与实例变量,类方法与实例方法的区别;4.掌握包的概念与使用。 二、实验内容及要求1、编程创建一个立方体类Cube,在其中定义三个变量length,width,height分别表示一个立方体的长、宽和高,再定义一个方法setCube对这三个变量进行初始化,然后定义求立方体的体积和表面积的方法。(1)编写一个测试类,在main方法中创建立方体对象,求给定尺寸的立方体的体积和表面积,并输入结果。(2)改用构造方法实现长、宽和高的初始化。(3)测试类放在包名为com.sy3.exe01.test包中,其它类放在com.sy3.exa01包中。(知识点:类的定义,对象的创建,构造方法的使用)(注意:如果需要从键盘输入长宽高的数据时,请从测试类的main方法中输入,程序的其它地方只接受传递的参数)代码如下:package com.sy3.exa01;class Cube private float width; private float height; private float length;/ 定义有参构造方法初始化属性public Cube(float width, float height, float length) this.width = width;this.height = height; this.length = length;/ 定义求立方体体积的方法public float volume() return width*height*length;/定义求立方体表面积的方法public float Surface_area()return 2*(width*height+width*length+height*length);public class Exp03_01_20130501439 public static void 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方法中创建立方体对象,求给定尺寸的立方体的体积和表面积,并输入结果。/(2)改用构造方法实现长、宽和高的初始化。/(3)测试类放在包名为com.sy3.exe01.test包中,其它类放在com.sy3.exa01包中。/(知识点:类的定义,对象的创建,构造方法的使用)/(注意:如果需要从键盘输入长宽高的数据时,请从测试类的main方法中输入,程序的其它地方只接受传递的参数)package com.sy3.exe01.test;import java.util.Scanner;class Cube private int width;private int height;private int length;public Cube() width=setwidth();height=setheight();length=setlength();/ TODO 自动生成的构造函数存根private int setwidth() Scanner sa = new Scanner(System.in);width = sa.nextInt();return width;private int setheight() Scanner sb = new Scanner(System.in);height = sb.nextInt();return height;private int setlength() Scanner sc = new Scanner(System.in);length = sc.nextInt();return length;/ 定义求立方体体积的方法public int volume() System.out.println(width+t+height+t+length);return width * height * length;/ 定义求立方体表面积的方法public int Surface_area() System.out.println(width+t+height+t+length);return 2 * (width * height + width * length + height * length);public class 测试类 /* * 班级:15计单1班 * 学号:20130501439 * 姓名:李敏杰 * 实验时间:2016-10-4,10-11 * 本程序的功能是:求立方体的体积和表面积 */public static void main(String args) / TODO 自动生成的方法存根Cube c1=new Cube();System.out.println(立方体的体积为:+c1.volume();System.out.println(立方体的表面积为:+c1.Surface_area();运行结果如下:2、设计并实现一个课程类,代表学校中的一门课程,将这门课程的相关信息组成该类的属性(如课程代码、课程名称、课程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。课程号课程名学分学时课程类型courIdcourNamecourCreditcourHourscourTypeE052026Linux操作系统356专业选修S052005面向对象程序设计3.556专业教育S052006面向对象程序设计实验132专业教育S052037数据库原理及应用348专业教育S052011数据库原理及应用实验132专业教育S052049操作系统464专业教育要求:(1)创建一个课程类Course,定义该类的各个属性(如上表第二行),为个属性设置相应的setter/getter方法。(2)定义一个没有参数和带有全部参数的构造方法。(3)重写toString()方法,返回课程的信息。(4)在该类中定义一个类变量passingScore,及格标准为60.(5)新建测试类,在main方法中创建一个大小为6的课程数组,把上面表格中的6门课信息保存在该数组中。利用增强型循环输出课程的信息。(6)在测试类中定义一个静态方法printCourses(Course courses),通过该方法输出课程中的信息。(7)在测试类中定义一个静态方法printCourses(Course courses,float credit),通过该方法输出学分等于credit的课程信息。(8)测试类放在包名为com.sy3.exe02.test包中,其它类放在com.sy3.exa02包中。(知识点:类的定义,对象的创建,构造方法的使用,对象数组,静态变量和静态方法,方法重载)(注意:课程的信息可以直接给定,不一定要通过键盘输入)代码如下:package com.sy3.exa02;public class Course public String courid;public String courname;public String courcredit;public String courhours;public String courtype;public int passingScore;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(incourcredit);setHours(incourhours);setType(incourtype);public void setType(String incourtype) courtype=incourtype; public void setHours(String incourhours) courhours=incourhours; public void setCredit(String incourcredit) courcredit=incourcredit; public void setName(String incourname) courname=incourname;public void setID(String incourid) courid=incourid;public String getcourtype()return courtype;public String getcourname()return courname;public String getcourid()return courid;public String getcourhours()return courhours;Overridepublic String toString() return Course courid= + courid + , courname= + courname+ , courcredit= + courcredit + , courhours= + courhours+ , courtype= + courtype + , passingScore= + passingScore+ ;public String getcourcredit()return courcredit;public void ToString()System.out.println(getcourid()+tt+getcourname()+tt+getcourcredit()+ttt+getcourhours()+ttt+getcourtype();/组成该类的属性(如课程代码、课程名称、课程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。/课程号课程名学分学时课程类型/courIdcourNamecourCreditcourHourscourType/E052026Linux操作系统356专业选修/S052005面向对象程序设计3.556专业教育/S052006面向对象程序设计实验132专业教育/S052037数据库原理及应用348专业教育/S052011数据库原理及应用实验132专业教育/S052049操作系统464专业教育package com.sy3.exe02.test;import com.sy3.exa02.*;public class 测试类 /* * 班级:15计单1班 * 学号:20130501439 * 姓名:李敏杰 * 实验时间:2016-10-4,10-11 * 本程序的功能是:打印输出课程基本信息 */public static void Exp03_02_20130501439(String args) /System.out.println(课程表 + t + 课程名 + tt + 学分 + t + 学时+ t + 课程类型);Course cour = new Course6;cour0 = new 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, 专业教育 );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);private static void printCourses(Course courses, float credit) System.out.println(静态方法printCourses输出学分等于credit的课程信息);for(Course i:courses)if(i.courcredit).equals(Float.toString(credit)/判断两个字符串类的内容是否相等 Float是包装类 P191System.out.print(i+t);System.out.println();System.out.println();public static void printCourses(Course courses)System.out.println(静态方法printCourses);for(Course i1:courses)System.out.print(i1+t);System.out.println();System.out.println(); / 设计并实现一个课程类,代表学校中的一门课程,将这门课程的相关信息/ 组成该类的属性(如课程代码、课程名称、课程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。/ 课程号 课程名 学分 学时 课程类型/ courId courName courCredit courHours courType/ E052026 Linux操作系统 3 56 专业选修/ 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./ (5)新建测试类,在main方法中创建一个大小为6的课程数组,把上面表格中的6门课信息保存在该数组中。利用增强型循环输出课程的信息。/ (6)在测试类中定义一个静态方法printCourses(Course courses),通过该方法输出课程中的信息。/ (7)在测试类中定义一个静态方法printCourses(Course courses,float/ credit),通过该方法输出学分等于credit的课程信息。/ (8)测试类放在包名为com.sy3.exe02.test包中,其它类放在com.sy3.exa02包中。/ (知识点:类的定义,对象的创建,构造方法的使用,对象数组,静态变量和静态方法,方法重载)/ (注意:课程的信息可以直接给定,不一定要通过键盘输入)运行结果如下:3、设计并实现一个“信电工程学院学生通信录”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作。学生通信录信息的存储可采用数组的方式。要求:(1)新建一个学生信息类StudentInfo,定义该类的各个属性(如下表第二行),变量的访问修饰符为private,为个属性设置相应的setter/getter方法。(2)为StudentInfo类定义三个构造方法,一个没有参数,一个带有学号、姓名、性别及班级四个参数,一个带有全部参数。(3)在StudentInfo类中定义显示学生信息的方法 void showStuInfo()。(4)创建一个通讯录类Contacts,在该类中定义一个能最大能容纳100个学生的对象数组students,该数组用于保存学生信息,定义一个表示当前有几个学生信息的变量count,该变量类型为整型。变量的访问修饰符为private,为个属性设置相应的setter/getter方法。(5)在Contacts类中定义添加学生信息、修改学生信息和删除学生信息,以及查找学生信息的方法。 void append(StudentInfo student) /在添加学生信息时,学号要保证是唯一的,且保证没有超过最大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.exe03.test包中,其它类放在com.sy3.exa03包中。(知识点:类的定义,对象的创建,构造方法的重载,对象数组,对象与对象之间的关系)(注意:参考数据如下,所有数据的输入都在测试类里完成)学号姓名性别出生日期班级名称联系电话QQ号码stuIdstuNamestuSexstuBirthstuClassstuTelstuQQ20130501401刘丹女1992/10/213网络1单139222222227843782 20130501402徐小怡女1992/10/313网络1单13922222223273464 20130501404赵蒙女1992/10/413网络2单139222222249043550 20130501405陈冰倩女1992/10/513网络2单139222222258397231 20130501406张琦琦女1992/10/613网络2单139222222268244973 20130501407施锦烨女1992/10/713网络3单139222222274137413 代码如下: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 * 本程序的功能是:添加学生信息、修改学生信息和删除学生信息,以及查找学生信息 */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=ss.nextInt();if(i=1)System.out.println(请输入添加学生信息:stuId,stuName,stuSex,stuBirth,stuClass,stuTel,stuQQ);System.out.println(参考数据如下r+20130501401刘丹女1992/10/213网络1单139222222227843782r+20130501402徐小怡女1992/10/313网络1单13922222223273464r +20130501404赵蒙女1992/10/413网络2单139222222249043550r +20130501405陈冰倩女1992/10/513网络2单139222222258397231r+/20130501406张琦琦女1992/10/613网络2单139222222268244973r +20130501407施锦烨女1992/10/713网络3单139222222274137413 );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();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.exa03.StudentInfo;public class Contacts private StudentInfo stu = new StudentInfo100;/ 存放学生信息private int count = 0;public void append(StudentInfo student) if (count 100) System.out.println(当前容量已满); else stu0=new StudentInfo(stuId,stuName,stuSex,stuBirth,stuClass,stuTel,stuQQ );student.getInfo();stu+count = 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();public void find() for (int i = 0; i count+1; i+) stui.showStuInfo();public void findByStuId(String stuId) for (int i = 0; i count+1; i+) if (stui.getstuId().equals(stuId)stui.showStuInfo();public void findByStuClass(String stuClass) for (int i = 0; i count+1; i+) if (stui.getstuClass().equals(stuClass)stui.showStuInfo();/else System.out.println(未找到您查询的班级学生信息!);public void Delete(String id) for (int i = 0; i count+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;public class StudentInfo private String stuId;private 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;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论