实验2:Java面向对象程序设计

合集下载

面向对象技术(Java)-实验2-类与对象

面向对象技术(Java)-实验2-类与对象

实验报告课程名称面向对象技术(Java)实验项目类和对象实验仪器个人计算机学院计算机学院专业计算机大类班级/学号学生姓名___ ___________实验日期2019/04/03指导教师___ _________实验项目二类和对象一、实验目标1.掌握类的定义和对象的创建以及使用方法;掌握UML类图的绘制。

2.掌握实例变量与静态变量、实例方法与静态方法的区别与使用。

3.掌握成员变量与局部变量的定义与使用。

4.理解和掌握面向对象技术的封装性,能够运用面向对象思想、术语和相关技术正确表达一般工程问题。

二、实验要求1.上机实验前,按照每一个实验题目的具体要求提前完成准备工作,如:查找资料、设计算法、写出全部源程序,做好预习笔记,做到有准备地上机。

2.上机实验课内,积极调试及修改程序。

上传程序到过程化考核平台/http://211.68.40.252:8008/3.上机实验课后,学生应根据实验数据及结果,完成实验报告。

实验报告是评定实验成绩的重要组成部分。

完成的实验报告交给课代表,课代表收齐本班的实验报告后统一交指导教师审阅评定。

三、实验环境硬件环境:个人电脑一台软件环境:JDK1.8及以上版本,NetBeans8.0及以上版本四、实验内容任务1 、定义一个名为Circle的类表示圆形。

这个Circle类包括:(1)一个名为radius的私有double型数据域,表示圆的半径。

radius的默认值为1。

(2)一个名为numberOfObjects的私有静态数据域,用于记录创建的圆对象的个数。

(3)一个无参构造方法。

(4)一个能指定radius的构造方法。

(5)一个名为getArea()的方法返回这个圆形的面积。

(6)一个名为getNumberOfObjects的类静态方法,返回已创建圆的个数。

(7)radius的set/get方法。

然后,编写一个测试程序。

要求在测试程序中:(1)创建一个半径为5.0的圆对象myCircle,并输出这个圆的半径及面积。

Java实验二 Java面向对象程序设计、异常处理

Java实验二   Java面向对象程序设计、异常处理
}
publicvoidwithdraw(longx)throwsInsufficientFundsException{//取款
if(x <=balance) {
balance=balance- x;
System.out.println("取"+ x +"元成功。");
}else
thrownewInsufficientFundsException("余额小于取款额,取款失败。"+"\n");
+this.ImaginaryPart+"i");
}
}
publicclassshiyan4_2_1 {
publicstaticvoidmain(String[]args) {
Complex x1, x2, x3;
x1 =newComplex(2.000F, 3.000F);
x2 =newComplex(3.000F, 5.000F);
System.out.print(f.getMessage());
}
break;
case3:
account.getbalance(account.balance);
break;
}
}
}
}
@SuppressWarnings("serial")
classInsufficientFundsExceptionextendsException {
3.掌握异常的概念和Java异常处理机制,学会异常处理5个关键字的使用;
4.熟悉Applet小程序的特点和运行过程,掌握Applet程序中常用的方法。

Java面向对象程序设计语言课程设计指导书(精选5篇)

Java面向对象程序设计语言课程设计指导书(精选5篇)

Java面向对象程序设计语言课程设计指导书(精选5篇)第一篇:Java面向对象程序设计语言课程设计指导书山东建筑大学商学院电子商务专业《Java面向对象程序设计语言》课程设计(实验)指导书一、对学生的基本要求:1、理论联系实际、严肃认真、实事求是的科学态度和勇于探索的创新精神。

2、运用所学基础理论与专业知识分析和解决实际问题,培养独立思考完成任务的能力。

3、运用Java面向对象程序设计方法、标准与规范开发小型应用软件系统。

二、设计的要求及内容及要求:应用Java面向对象程序设计语言开发小型应用软件系统。

可以从给定的选题中选择一个课题或自拟课题(自拟课题需经指导教师批准),完成系统分析、设计和开发。

具体要求如下:(1)针对你所选择的系统进行需求分析,写出系统的功能要求,设计的应用程序应具有的功能要素。

(2)程序代码应符合教学中应该具有的规范要求,类名、方法名,属性名称应与设计中实际的应用含义相符,程序中具有相应的注释。

(3)程序的界面要合理、美观。

(4)每人最终提交一个可行的应用软件程序和规范的课程设计说明书。

说明书应严格按照说明书的要求,格式清晰、规整。

并提交所设计程序的电子文档。

三、设计进度:1、17周周一~周二:选题,系统的需求分析。

分析并规划你所设计的系统应达到的功能,满足什么样的要求。

2、17周周二~周四:系统设计。

分析要达到你所要求的功能需要编写什么类,规划类的层次结构,设定好类明、方法名、属性名;规划你所设计的系统应具有什么样的界面布局。

查阅资料帮助自己规划好你的系统。

3、17周周五~18周周二:程序设计。

根据自己所规划的程序进行具体代码设计,代码设计要符合程序设计的规范要求,注意程序的编写格式。

4、18周周三:程序测试。

对自己所规划的程序进行测试,看是否有异常及程序Bug出现,并进行调试修正程序代码。

5、18周周三:编写课程设计说明书。

按照本指导书要求格式编写程序设计报告(见附件)。

实验二-Java面向对象编程初步(2)-陈正宁-2015123349

实验二-Java面向对象编程初步(2)-陈正宁-2015123349

淮海工学院计算机工程学院实验报告书课程名:面向对象程序设计A实验题目: Java面向对象编程初步(2)班级:软嵌151学号:2015123349姓名:陈正宁一、实验目的(1)通过实验,进一步掌握类的定义,尤其是类中方法(包含构造方法)的定义。

掌握对象的创建方法及对象成员变量和方法的调用;(2)通过编写图形界面的程序,完成对象的创建和调用。

二、实验内容(1)定义教师类Teacher,包含属性工号,姓名,性别,所在部门,职称,职位,专业,学历;定义若干个构造方法,完成对象的各种初始化需要;定义若干个分别能够获取和修改成员变量的方法,如获取工号/修改工号;获取学历/修改学历等;定义toString()方法,能够输出教师的所有相关信息。

(50分)(2)编写字符界面的程序,能够创建若干个教师对象,并输出教师的相关信息;(30分)(3)编写图形界面的程序,能够创建若干个教师对象,并输出教师的相关信息。

(20分)三、实验步骤(1)字符界面的程序class Teacher //定义一个名为Teacher公共类{String number; //工号String name; //姓名String sex; //性别String department; //部门String title; //职称String post; //职位String major; //专业String education; //学历Teacher() //构造方法1{number="";name="";sex="";department="";title="";post="";major="";education="";}Teacher(String name,String sex) //构造方法2{this();=name;this.sex=sex;}/*更改一些特性或者获取信息*/public void setnumber(String newnumber){number=newnumber;}public String getnumber(){return number;}public void setname(String newname){name=newname;}public String getname(){return name;}public void setsex(String newsex){sex=newsex;}public String getsex(){return sex;}public void setdepartment(String newdepartment) {department =newdepartment;}public String getdepartment(){return department;}public void settitle(String newtitle){title=newtitle;}public String gettitle(){return title;}public void setpost(String newpost){post=newpost;}public String getpost(){return post;}public void setmajor(String newmajor){major=newmajor;}public String getmajor(){return major;}public void seteducation(String neweducation){education=neweducation;}public String geteducation(){return education;}public String toString() //重写toString输出方法{return "\n教师工号:"+number+";姓名:"+name+";性别:"+sex+";所在部门:"+department+";\n职称:"+title+";职位:"+post+";专业:"+major+";学历:"+education+"\n";}}public class shiyan4_1{public static void main(String args[]){System.out.println("初始情况如下");Teacher teacher1=new Teacher(); //调用构造方法1Teacher teacher2=new Teacher("张老师","男"); // 调用构造方法2Teacher teacher3=new Teacher("刘老师","男");Teacher teacher4=new Teacher("李老师","女");Teacher teacher5=new Teacher("施老师","女");Teacher teacher6=new Teacher("闵老师","男");Teacher teacher7=new Teacher("王老师","女");System.out.println(teacher1.toString()+teacher2.toString()+teacher3.toString()+teach er4.toString()+teacher5.toString()+teacher6.toString()+teacher7.toString());System.out.println("教师信息如下");teacher1.setnumber("1000");teacher1.setname("孙老师");teacher1.setsex("男");teacher1.setdepartment("电子工程学院");teacher1.settitle("讲师");teacher1.setpost("教师");teacher1.setmajor("模拟电路");teacher1.seteducation("博士");teacher2.setnumber("1001");teacher2.setdepartment("计算机工程学院");teacher2.settitle("讲师");teacher2.setpost("教师");teacher2.setmajor("计算机硬件");teacher2.seteducation("硕士");teacher3.setnumber("1002");teacher3.setsex("女");teacher3.setdepartment("理学院");teacher3.settitle("讲师");teacher3.setpost("教师");teacher3.setmajor("数学分析与统计");teacher3.seteducation("硕士");teacher4.setnumber("1003");teacher4.setdepartment("外国语学院");teacher4.settitle("讲师");teacher4.setpost("教师");teacher4.setmajor("大学英语");teacher4.seteducation("硕士");teacher5.setnumber("1004");teacher5.setdepartment("计算机工程学院");teacher5.settitle("副教授");teacher5.setpost("副院长");teacher5.setmajor("计算机");teacher5.seteducation("硕士");teacher6.setnumber("1005");teacher6.setdepartment("机械工程学院");teacher6.settitle("教授");teacher6.setpost("教师");teacher6.setmajor("工程力学");teacher6.seteducation("博士");teacher7.setnumber("1009");teacher7.setdepartment("理学院");teacher7.settitle("讲师");teacher7.setpost("教师");teacher7.setmajor("线性代数");teacher7.seteducation("硕士");System.out.println(teacher1.toString()+teacher2.toString()+teacher3.toString()+teacher4.t oString()+teacher5.toString()+teacher6.toString()+teacher7.toString());}}(2)图形界面程序import javax.swing.*;import java.awt.*;import java.awt.event.*;class Teacher //定义一个名为Teacher公共类{String number; //工号String name; //姓名String sex; //性别String department; //部门String title; //职称String post; //职位String major; //专业String education; //学历Teacher() //构造方法1{number="";name="";sex="";department="";title="";post="";major="";education="";}Teacher(String name,String sex) //构造方法2{this();=name;this.sex=sex;}/*更改一些特性或者获取信息*/public void setnumber(String newnumber){number=newnumber;}public String getnumber(){return number;}public void setname(String newname){name=newname;}public String getname(){return name;}public void setsex(String newsex){sex=newsex;}public String getsex(){return sex;}public void setdepartment(String newdepartment) {department =newdepartment;}public String getdepartment(){return department;}public void settitle(String newtitle){title=newtitle;}public String gettitle(){return title;}public void setpost(String newpost){post=newpost;}public String getpost(){return post;}public void setmajor(String newmajor){major=newmajor;}public String getmajor(){return major;}public void seteducation(String neweducation) {education=neweducation;}public String geteducation(){return education;}public String toString() //重写toString输出方法{return "\n教师工号:"+number+";姓名:"+name+";性别:"+sex+";所在部门:"+department+";\n职称:"+title+";职位:"+post+";专业:"+major+";学历:"+education+"\n";}}public class shiyan4_2{public static void main(String args[]){new FrameInOut();}}class FrameInOut extends Frame implements ActionListener{JButton btn1,btn2,btn3;JTextArea ta;JPanel p1,p2,p3;FrameInOut(){super("教师信息!");this.setFont(new Font("楷体",Font.BOLD,100));this.setBackground(Color.pink);btn1=new JButton("初始信息");btn2=new JButton("教师信息");btn3=new JButton("退出");ta=new JTextArea(20,50);p1=new JPanel();p2=new JPanel();p3=new JPanel();p1.add(btn1);p1.add(btn2);p1.add(btn3);p2.add(ta);add(p1);add(p2);setLayout(new FlowLayout());p1.setBackground(Color.yellow);btn1.addActionListener(this);btn2.addActionListener(this);btn3.addActionListener(this);setSize(600,360);setVisible(true);}public void actionPerformed(ActionEvent e){Teacher teacher1=new Teacher(); //调用构造方法1Teacher teacher2=new Teacher("张老师","男"); // 调用构造方法2Teacher teacher3=new Teacher("刘老师","男");Teacher teacher4=new Teacher("李老师","女");Teacher teacher5=new Teacher("施老师","女");Teacher teacher6=new Teacher("闵老师","男");Teacher teacher7=new Teacher("王老师","女");if(e.getSource()==btn1){ta.setText(null);ta.setForeground(Color.black);ta.setFont(new Font("楷体",Font.BOLD,16));ta.append(teacher1.toString()+teacher2.toString()+teacher3.toString()+teacher4.toStr ing()+teacher5.toString()+teacher6.toString()+teacher7.toString());}teacher1.setnumber("1000");teacher1.setname("孙老师");teacher1.setsex("男");teacher1.setdepartment("电子工程学院");teacher1.settitle("讲师");teacher1.setpost("教师");teacher1.setmajor("模拟电路");teacher1.seteducation("博士");teacher2.setnumber("1001");teacher2.setdepartment("计算机工程学院");teacher2.settitle("讲师");teacher2.setpost("教师");teacher2.setmajor("计算机硬件");teacher2.seteducation("硕士");teacher3.setnumber("1002");teacher3.setsex("女");teacher3.setdepartment("理学院");teacher3.settitle("讲师");teacher3.setpost("教师");teacher3.setmajor("数学分析与统计");teacher3.seteducation("硕士");teacher4.setnumber("1003");teacher4.setdepartment("外国语学院");teacher4.settitle("讲师");teacher4.setpost("教师");teacher4.setmajor("大学英语");teacher4.seteducation("硕士");teacher5.setnumber("1004");teacher5.setdepartment("计算机工程学院");teacher5.settitle("副教授");teacher5.setpost("副院长");teacher5.setmajor("计算机");teacher5.seteducation("硕士");teacher6.setnumber("1005");teacher6.setdepartment("机械工程学院");teacher6.settitle("教授");teacher6.setpost("教师");teacher6.setmajor("工程力学");teacher6.seteducation("博士");teacher7.setnumber("1009");teacher7.setdepartment("理学院");teacher7.settitle("讲师");teacher7.setpost("教师");teacher7.setmajor("线性代数");teacher7.seteducation("硕士");if(e.getSource()==btn2){ta.setText(null);ta.setForeground(Color.black);ta.setFont(new Font("楷体",Font.BOLD,16));ta.append(teacher1.toString()+teacher2.toString()+teacher3.toString()+teacher4.toStr ing()+teacher5.toString()+teacher6.toString()+teacher7.toString());}if(e.getSource()==btn3){dispose();System.exit(0);}}}四、实验结果(结论)(1)字符界面运行结果(2)图形界面运行结果五、实验的分析体会通过这次实验,对类的定义有更深一层的理解,尤其是类中方法(包含构造方法)的定义。

实验二Java类与对象程序设计基础(一)

实验二Java类与对象程序设计基础(一)

Java程序设计实验指导实验二Java类与对象程序设计基础(一)一、实验目的:通过编制一个独立应用程序,使得学生掌握Java的系统所提供类的引用方法;通过编制一个完整的应用程序,使得学生对Java的应用程序的基本构成和基本算法熟练掌握,同时熟悉Java 开发环境;通过自定义类及子类的设计,熟悉类的定义和父、子类的继承关系;掌握类多态性的实现和调用。

上机练习之前,必须先完成程序的书写,再上机调试。

二、实验内容:1、编程实现矩形类Rectangle,Rectangle拥有私有属性长(length)和宽(width),为Rectangle类提供至少两种构造方法,同时提供计算矩形周长(perimeter())和面积(area())的方法。

使用两种构造方法,至少各创建一个矩形对象实例,并分别计算两个矩形的周长和面积。

2、使用矩形类InterRectangle,编程统计若干块矩形土地的相关信息。

由用户输入每块土地数目以及每块土地的长与宽,统计出所有土的面积和周长并显示出来。

3、为第一步实验中定义的矩形类Rectangle派生一个子类:正方体类Cube。

若正方体类的操作同样是求底面周长和面积,同时要求求出长方体体积,则这个子类除了从父类那里继承来的方法之外,还需要做哪些修改。

编程检查、运行所编写的正方体类。

使用两种构造方法,至少各创建一个正方体对象实例,并分别计算两个正方体的底面周长、底面面积和体积。

三、实验指导:注意类的继承,方法的实现。

详细代码参见源代码。

四、实验要求:1、在上机前写出全部源程序;2、能在机器上正确运行程序;五、程序清单:六、运行结果:七、调试分析及实验心得:. 1 .。

【兔年惊喜】Java语言程序设计 实验二 面向对象程序设计实验任务二

【兔年惊喜】Java语言程序设计 实验二 面向对象程序设计实验任务二

实验报告课程Java语言程序设计实验名称面向对象程序设计实验任务二第页专业班级学号__ __ 姓名实验日期:2010 年9 月21 日报告退发(订正、重做)一、实验目的•掌握类、域、方法的定义和实例对象的创建•理解类的继承性、多态性、封装性•掌握包的应用•掌握关键字abstract、static、final和this的使用•掌握接口的定义和使用•掌握内部类使用•理解变量作用域范围的含义和参数传递方式•体会面向对象程序设计基本思想二、实验环境1、微型计算机一台2、DOS或WINDOWS操作系统,j2se开发包三、实验内容1.定义一个员工类,包含姓名、出生年月、性别三个属性,包含计算员工到目前为止年龄段方法。

●源文件名为:Employee.java●类名:Employee●要求定义静态成员域,以便统计该类及其子类的实例对象中,男性和女性的数量。

2.定义一个教师类,继承员工类,增设开始从教时间属性及职称属性,增设计算教师到目前为止教龄的方法。

●源文件名:Teacher.java●类名:Teacher3.定义一个行政人员类,继承员工类,增设开始工作时间及职务属性,增设计算该工作人员到目前为止工龄的方法。

●源文件名:Staff.java●类名:Staff4.定义主类,●源文件名:School.java●类名:School●完成以下工作:✓创建一个教师类实例,性别为女性,输入各个属性,输出她的姓名、年龄、教龄及职称。

✓创建一个行政人员实例,性别为男性,输入各个属性,输出他的姓名、年龄、工龄及职务。

✓统计输出程序执行到此,所创建男性和女性实例对象的个数。

该操作要求在员工类中定义静态成员实现。

四、实验步骤和结果1.在Eclipse中新建名字为test的工程。

2.新建Employee.java,Teacher.java,Staff.java,School.java 四个类。

3.分别编写java程序,求解员工类、教师类、行政人员类和主类问题。

java实验项目二面向对象编程3部分

java实验项目二面向对象编程3部分

Java实验项目二面向对象编程第1部分类与对象[实验目的]1、熟悉Java面向对象程序设计的基本思想。

2、掌握类与对象的定义及使用方法。

3、掌握package语句与import语句的用法。

[实验要求]1、复习理论教学中所学的内容。

2、认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。

3、认真总结实验并书写实验报告。

[实验课时] 2学时[实验教学方式] 学生上机实验,教师随堂指导。

[实验内容]1、三角形、梯形和圆形的类封装:分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法。

最后在主方法中为三角形、梯形和圆形类创建对象并打印输出各种图形的周长及面积。

该程序的模板代码如下:请将其补充完整并调试运行。

AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】) //a,b,c构成三角形的条件表达式{【代码3】//给boo赋值。

}else{【代码4】//给boo赋值。

}}double getLength(){【代码5】//方法体,要求计算出length的值并返回}public double getArea(){if(boo){double p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;return area;}else{System.out.println("不是一个三角形,不能计算面积");return 0;}}public void setABC(double a,double b,double c){【代码6】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码7】) //a,b,c构成三角形的条件表达式{【代码8】//给boo赋值。

Java程序设计-试验2(学生版)

Java程序设计-试验2(学生版)

Java程序设计-试验2(学生版)
华北电力大学
实验报告
实验名称Java程序面向对象设计(一)课程名称Java程序设计
专业班级:学生姓名:
学号:成绩:指导教师:张学斌实验日期:
自己的speed的值增加80
【代码10】//car2调用speedUp方法将自己的speed的值增加80
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
car1.speedDown(10);
car2.speedDown(20);
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
}
}
1.3 实验指导
●创建一个对象时,成员变量被分配空间,这些内
存空间称作该对象的实体或变量,而对象中存放着引用,以确保这些变量被该对象操作使用。

●空对象不能使用,即不能让一个空对象去调用方
法产生行为。

假如程序中使用了空对象,在运行时会产生异常:NullPointerException,对象时。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验2:Java面向对象程序设计(一)
实验目的
●掌握类的定义;掌握构造方法的使用;掌握对象的创建。

●掌握静态变量与静态方法的使用;了解静态变量和成员变量的区别。

●熟悉访问修饰符的作用;掌握访问修饰符的使用方法。

●掌握方法的重载;掌握访问器get/set方法。

实验步骤
一、类和对象的创建
1.创建一个圆类,成员变量有半径radius和圆周率pi,提供计算圆面积的方法,并在main方法中创建圆类的对象,调用其计算面积的方法进行测试。

2.编写上述代码,编译运行代码,查看程序执行结果。

●试述程序中两个类的各自作用。

●类Circle都封装了什么?求圆面积的初始数据是通过哪个方法实现的?请修改程序采用构造函数的方法初始化数据。

●类Circle是如何声明的?在类中都声明了什么?在主函数中是如何创建Circle类对象的?
二、静态变量和静态方法的设计
(一).静态变量和实例变量练习
1.创建一个类,类名为StaticVariableTest,包含static变量和实例变量,类型为int型,在main方法中分别调用这2个变量并且输出结果。

2.部分源代码如下:
3.将上述代码中的main方法补充完整后,编译运行代码,查看程序执行结果。

●根据完善后的源码,分析调用静态变量和实例变量有什么不同?
(二).静态方法和实例方法练习
1.创建一个类,类名为StaticMethodTest,包含一个静态方法和一个实例方法,在main方法中分别调用这个两个方法进行测试。

2.部分源代码如下:
3.将上述代码中的main函数补充完整,编译运行代码,查看程序执行结果。

●根据完善后的源码,分析如何调用静态方法和实例方法?
三、访问修饰符与方法的重载
(一).访问修饰符练习
1.创建一个Person类,在该类中用不同的访问修饰符设立不同的person属性,再创建一个PersonTest类,包括main方法,在此类中分别访问Person类中各个属性。

2.源代码如下:
3.先填写下面的表格,在预测结果中,如果能打印输出,填写程序输出结果,否则填“N”。

●记录程序运行结果。

表4-3-1预测和验证结果
4.编写上述代码,编译运行代码。

在上表中填写程序验证结果。

●访问private变量时,编译会出现什么问题,为什么?
●通过什么方式能访问private变量?编程实现访问Person类中的private变量。

(二).方法重载练习
1.给出一个OverloadTest类,并定义了一个amethod()方法,分析A)、B)、C)、D)四个方法能否正确编译;
2.源代码如:
3.编写上述代码,编译运行代码,查看程序执行结果。

●根据程序执行结果分析类中A)、B)、C)、D)四个方法哪些能编译,哪些不能编译,为什么?。

相关文档
最新文档