版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计上机实验指导书实验一 类与对象【实验目的】 使用类来封装对象的属性和功能;掌握类变量与实例变量,以及类方法与实例方法的区别;理解接口、塑型、多态的概念并能熟练应用。巩固以下概念:子类的继承性子类对象的创建过程成员变量的继承与隐藏方法的继承与重写【实验任务】1、创建Java类与对象,并创建方法(1)编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。(2)为类Student增加一个方法public String to
2、String( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。class Studentprivate long studentID;private int classID;private String name;private String sex;private int age;public Student(long studentID,int classID,String name,String sex,int age)this.studentID=student
3、ID;this.classID=classID;=name;this.sex=sex;this.age=age;public long getStudentID()return studentID;public int getClassID()return classID;1 / 10public String getName()return name;public String getSex()return sex;public int getAge()return age;public String toString()return "学号:"+get
4、StudentID()+"n班号:"+getClassID()+"n姓名:"+getName()+"n性别:"+getSex()+"n年龄:"+getAge();public class StudentDemopublic static void main(String args)Student s1=new Student(90221,2,"Tom","male",20);System.out.println(s1.toString();运行结果: 学号:90221 班号:
5、2 姓名:Tom 性别:male 年龄:202、三角形、梯形和圆形的类封装² 实验要求:编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:a)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。b)Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。c)Circle类具有类型为double的半径、周
6、长和面积属性,具有返回周长、面积的功能。² 程序运行效果示例:程序运行效果如下图所示:² 程序模板: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,sideC if(【代码2】) /a,b,c构成三角形的条件表达式 【代码3】 /给boo赋值。 else 【代码4】 /给boo赋值。 double getLeng
7、th() 【代码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,side
8、B,sideC if(【代码7】) /a,b,c构成三角形的条件表达式 【代码8】 /给boo赋值。 else 【代码9】 /给boo赋值。 class Lader double above,bottom,height,area; Lader(double a,double b,double h) 【代码10】 /方法体,将参数a,b,c分别赋值给above,bottom,height double getArea() 【代码11】 /方法体,,要求计算出area返回 class Circle double radius,area; Circle(double r) 【代码12】 /方法体 d
9、ouble getArea() 【代码13】 /方法体,要求计算出area返回 double getLength() 【代码14】 /getArea方法体的代码,要求计算出length返回 void setRadius(double newRadius) radius=newRadius; double getRadius() return radius; public class AreaAndLength public static void main(String args) double length,area; Circle circle=null; Trangle trangle;
10、 Lader lader; 【代码15】 /创建对象circle 【代码16】 /创建对象trangle。 【代码17】 /创建对象lader 【代码18】 / circle调用方法返回周长并赋值给length System.out.println("圆的周长:"+length); 【代码19】 / circle调用方法返回面积并赋值给area System.out.println("圆的面积:"+area); 【代码20】 / trangle调用方法返回周长并赋值给length System.out.println("三角形的周长:"
11、;+length); 【代码21】 / trangle调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); 【代码22】 / lader调用方法返回面积并赋值给area System.out.println("梯形的面积:"+area); 【代码23】 / trangle调用方法设置三个边,要求将三个边修改为12,34,1。 【代码24】 / trangle调用方法返回面积并赋值给area System.out.println("三角形的面积:"+area); 【代码25】 / tr
12、angle调用方法返回周长并赋值给length System.out.println("三角形的周长:"+length); ² 实验后的练习:1. 程序中仅仅省略【代码15】,编译能通过吗?2. 程序中仅仅省略【代码16】,编译能通过吗?3. 程序中仅仅省略【代码15】,运行时出现怎样的异常提示? 3、实例成员与类成员。 ² 实验要求:按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。² 程序运行效果示例:程序运行效果如下图所示:² 程序模板:Example.javaclass A 【代码1】 /声明一个f
13、loat型实例变量a 【代码2】 /声明一个float型类变量b,即static变量b void setA(float a) 【代码3】 /将参数a的值赋值给成员变量a void setB(float b) 【代码4】 /将参数b的值赋值给成员变量b float getA() return a; float getB() return b; void inputA() System.out.println(a); static void inputB() System.out.println(b); public class Example public static void main(St
14、ring args) 【代码5】 /通过类名操作类变量b,并赋值100 【代码6】 /通过类名调用方法inputB() A cat=new A(); A dog=new A(); 【代码7】 /cat象调用方法setA(int a)将cat的成员a的值设置为200 【代码8】 /cat调用方法setB(int b)将cat的成员b的值设置为400 【代码9】 /dog象调用方法setA(int a)将dog的成员a的值设置为150 【代码10】 /dog调用方法setB(int b)将dog的成员b的值设置为300 【代码11】 /cat调用inputA()。 【代码12】 /cat调用inp
15、utB()。 【代码13】 /dog调用inputA()。 【代码14】 /dog调用inputB()。 ² 实验后的练习:1. 将inputA()方法中的System.out.println(a);改写为System.out.println(a+b);编译是否出错?为什么?2. 将inputB()方法中的System.out.println(b);改写为System.out.println(a+b);编译是否报错?为什么? 将本次上机实验结果按照实验要求内容依次进行,填写实验目标、过程、结果。 【注意事项】实验报告要求每人提交一份,使用专门的报告纸,内容写全,包括实验名称、班级、姓
16、名、同组人,试验日期、交报告日期等。报告不需要填写源代码,只要将完成情况和所有练习题结果写上就可以。实验二 多线程实验项目名称: 多线程 同组人 实验时间: 实验室 指导教师: 一、实验目的1.掌握Java概念;2.熟悉继承Thread类的多线程编程;3.熟悉继承Runnable接口的多线程编程;4.了解多线程编程中方法的覆盖。二、实验任务1输入下面的Java Application程序,运行该程序,并简要分析程序的运行结果。1: class SimpleThread extends Thread 2: public SimpleThread(String str) 3: super(str)
17、; /调用其父类的构造方法4: 5: public void run() /重写run方法6: for (int i = 0; i < 10; i+) 7: System.out.println(i + " " + getName();8: /打印次数和线程的名字9: try 10: sleep(int)(Math.random() * 1000);11: /线程睡眠,把控制权交出去12: 13: catch (InterruptedException e) 14: 15: System.out.println("DONE! " + getName
18、();16: /线程执行结束17: 18:1: public class TwoThreadsTest 2: public static void main (String args) 3: new SimpleThread("First").start();4: /第一个线程的名字为First5: new SimpleThread("Second").start();6: /第二个线程的名字为Second7: 8: 2编写程序,将上面多线程程序用Runnable接口来实现。 3.分别用继承Thread类和Runnable接口的方法实现多线程程序。有三个银行员工,工作一段时间后,都会选择一个随机的时间休息(如休息0-6秒) ,在程序当中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度环保工程咨询合同
- 采矿钻头市场需求与消费特点分析
- 2024年度专利实施许可合同的技术支持与维护义务
- 2024年度北京房产保险合同
- 2024常州个人二手房过户税务咨询服务合同
- 水果抛光剂市场发展现状调查及供需格局分析预测报告
- 运载工具用窗玻璃半成品市场发展现状调查及供需格局分析预测报告
- 眼影盘市场发展现状调查及供需格局分析预测报告
- 电流转换器市场发展现状调查及供需格局分析预测报告
- 2024年度某汽车公司与4S店之间的汽车销售合同
- 特种作业人员安全教育课件
- 肾囊肿去顶减压术病人的医疗护理
- 一汽-夏利48pin维修手册-ver
- 《自然语言处理课程设计》课程教学大纲
- BSC战略地图模板
- 国家开放大学《管理学基础》形考任务1-4参考答案
- 世界足球日介绍主题班会模板课件
- 电大学前教育本教育实习教学活动设计
- 神经内科非计划拔管不良事件分析与讨论模板
- 农业合作社盈余及盈余分配表
- 广东省中小学生学籍管理的实施细则
评论
0/150
提交评论