--类的设计与封装(一)实验报告

合集下载

Java实验

Java实验

实验一熟悉Java开发环境(验证性2学时)一、实验目的与要求:1 掌握Java Application程序的开发过程并编写第一个Java Application程序*2 掌握Java Applet程序的开发过程并编写第一个Java Applet程序。

*3 练习简单的HTML文件配合Java Applet使用。

4 熟悉jdk的使用二、实验内容:1 编写一个Java Application程序,在屏幕上显示”This is my first java program!”.*2 编写第一个Java Applet 程序,在屏幕上显示”This is my first Java Applet!”三、实验步骤:1、jdk的使用jdk开发工具包可以从网站下载,jdk不是集成编译环境,须手动运用命令行程序进行编译和解释执行1)编辑.java文件可以在记事本或其他纯文本编辑器中编辑,保存时把文件扩展名定为.java即可,当然要注意文件名命名的要求2)编译生成.class文件进入dos系统进行编译(如图1.1所示),格式如javac MyFirstApplication.java,要注意图1.1进入命令行看javac.exe的路径并且MyFirstApplication.java文件路径和javac.exe路径一样。

编译成功后就能在浏览器中看见多了一个MyFirsApplication.class或更多的.class文件。

如图1.2所示图1.2使用jdk编译MyFirstApplication.java文件3)解释执行Application程序:同样是在dos系统下解释执行,格式如java MyFirstApplication,注意.class后缀别加,如图1.3所示。

图1.3解释执行MyFirstApplication.class程序* applet程序进入dos系统进行编译,格式如javac MyFirstApplet.java,要注意看javac.exe的路径并且MyFirstApplet.java文件路径和javac.exe路径一样。

实验三 类与对象(1)——耿祥义

实验三   类与对象(1)——耿祥义
3)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
定义Test3_2类,在其中编写一个main方法,在其中创建分别创建三个类的对象,并显示Circle,Lader,Trangle对象的属性信息和面积值。对Trangle对象,还要显示其是否可以构成三角形的信息。
(二)使用修饰符
有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。常用的修饰符如下。public,private,protected,package,static,final,transient,volatile
程序功能:通过两个类StaticDemo、KY2_4说明静态变量/方法与实例变量/方法的区别。
③将class CCircle中的变量double pi; double radius;加上private修饰符,进行编译会出现什么问题,为什么?
④将void setCircle(double r, double p),double getRadius()和double getCircleArea()加上修饰符static,重新编译会出现什么问题?仍用static,怎样修改别的地方来纠正这个错误?在main中引用这些方法时不用创建对象则怎样引用?
程序功能:描述一个圆类,其主要属性为半径,还有一个非常重要的常量是圆周率。该圆可以求出面积,可以设置半径和取得半径大小。
class CCircle
{ double pi;
double radius;
double getRadius()
{ return radius;
}
void setCircle(double r, double p)
void aaa()

UML实验报告

UML实验报告

中南民族大学管理学院学生实验报告课程名称:UML面向对象分析与设计教程年级:专业:信息管理与信息系统学号:姓名:指导教师:实验地点:管理学院综合实验室2013 学年至 2014 学年度第 2 学期目录实验一 UML建模基础实验二用例图实验三 UML类图实验四对象图实验五包图实验六动态模型图实验(一) UML建模基础实验时间:实验目的1.熟悉UML建模工具Rational Rose的基本菜单及操作。

2.掌握UML的三大组成部分及各部分作用。

3.掌握UML的可见性规则和构造型的作用。

实验内容1.练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。

2.认识各种UML关系及可见性符号,并用工具表示出来。

答:各种UML关系如下:分析与讨论1.总结UML在软件工程中的作用以及使用UML建模的必要性。

答:统一建模语言(UML)是用来对软件密集系统进行可视化建模的一种语言,也是为面向对象开发系统的产品进行说明、可视化、构造和编制文档的一种语言。

UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。

当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。

UML可以贯穿软件开发周期中的每一个阶段,最适于数据建模、业务建模、对象建模、组件建模。

UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次方面已经被验证有效。

UML是一种功能强大的,面向对象的可视化系统分析的建模语言,它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠,更完善的系统模型,从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。

指导教师批阅:实验(二)用例图实验时间:实验目的1.掌握用例的概念、UML用例图的组成、作用以及使用场合。

2.掌握用例与用例之间的各种关系。

3.用Rational Rose工具练习教材中的用例图。

LED实验报告

LED实验报告

山西大同大学物理与电子科学学院LED封装与测试题目: LED封装与测试实验报告班级:学号:姓名:指导教师:职称:讲师完成日期:2020 年11月 3 日一:目的能够熟练掌握LED封装与测试,并能够熟知原理。

二、仪器装置:显微镜、烘烤机、扩张机、子母环、固晶笔、固晶座、点胶注射器、LED支架、超声波金丝球焊线机、电子秤、镊子等。

三、实验原理LED封装的基本原理:1、前期准备:通过扩张机,准备好实验要用的晶体芯片;在点胶注射器上点上适当的胶水。

2、在显微镜下把支架上的固晶区域的中间部分点上适量的胶水,然后点晶,把芯片在显微镜下点在固晶区域中部的胶水上。

3、点胶结束后把支架放在专业烤箱上烘烤,将芯片固定在固晶区域;烘烤结束,等支架降温,然后焊丝。

焊丝后,灌胶烘烤。

等支架降温,切割好之后,对成品芯片通电检测。

LED是将电能转化为光能的半导体材料。

由P型半导体和N型半导体构成的PN结是LED的核心结构。

由于在P型半导体和N型半导体中存在着两种不同的载流子:空穴和电子,在外界电极、电压的作用下,两种载流子在PN结复合。

电子从高能级跃迁到低能级,辐射以光子形式放出。

LED封装的作用是保护晶片,完成电气互连,增强晶片散热性能,以及完成光线的配光和输出。

LED的封装技术直接影响到LED灯具的光、热、电综合性能。

引脚式封装的封装结构包括金属支架银胶/绝缘胶、金线、晶片和环氧树脂胶。

四:步骤(1)反晶、刺晶和扩晶1、打开扩晶机电源开关。

2、热机十分钟,温度调整至50-60℃。

3、根据字母环面积剪下适当大小的3M膜,取少量芯片。

4、打开扩张机上压架在热板上放置子母环内圈。

5、将3M膜粘芯片的一面朝上放置,夹好夹具,再按上升按钮直到膜紧绷。

6、放上子母环外圈,按下压按钮使外圈箍住内圈,按下降按钮使子母环与扩张机分离,使扩晶机恢复到原状态。

7、取出已扩好芯片的子母环。

(2)点胶和刺晶1、备胶:取适量胶水注入针头。

2、将排好的夹具放到显微镜下,打开灯光,将显微镜调到最佳位置(调节显微镜高度)。

软件设计技术实验报告

软件设计技术实验报告

软件设计技术学院:仪器科学与光电工程学院专业:测试计量技术及仪器班级:研1303班实验一:点、线、圆、矩形、抛物线的类定义1.1 实验目标线由点派生,圆由点派生,矩形由线派生,抛物线由点派生。

设计私有成员、公有成员、保护成员及成员函数来实现实验函数的功能。

1.2 开发语言基于VC6.0系统开发,对点、线、圆、矩形、抛物线进行类的定义。

1.3 需求分析(1)显示输入的点的坐标;(2)继承Point类的点坐标,已知另一个点的坐标,获取直线的长度;(3)已知圆的圆心坐标(继承Point类的点)和半径,求取圆的面积;(4)继承Line类的一条线,已知矩形的一条边,获取矩形的面积;(5)已知抛物线顶点的坐标(继承Point类的点),抛物线焦点坐标及抛物线上给出任一横坐标,得到抛物线上对应的坐标。

1.4 概念抽象(1)定义点类:在点类中定义Point()构造函数以及Point.getX()、Point.getY()、Point.setX()、Point.setY()、print()这五个成员函数;(2)定义线类:线由点派生,在线类中定义Rline()构造函数以及getX_e()、getY_e()、getLength()和print()这四个函数;(3)定义圆类:圆由点派生,在圆类中定义Rcircle()构造函数以及setRadiu()、getRadius()、getArea()、print()这四个函数;(4)定义矩形类:矩形由线派生,在矩形类中定义Rectangle()构造函数、getArea1()和print()这两个函数;(5)定义抛物线类:抛物线由点派生,在抛物线中定义Parabola()构造函数和getX_p()、getY_p()、print()这两个函数。

1.5 UML图1.6实验运行结果程序见附录:实验一实验二:数据采集卡的软件封装1.1 项目背景在现代社会,数据采集卡广泛应用于工业检测、智能交通、医学影像、工业监控、仪器仪表、机器视觉等领域。

ip核的封装与调用实验报告

ip核的封装与调用实验报告

IP核的封装与调用实验报告1. 背景IP核(Intellectual Property Core)是一种可重用的硬件设计模块,可以嵌入到FPGA(Field-Programmable Gate Array)或ASIC(Application-Specific Integrated Circuit)芯片中。

IP核的封装与调用是将设计好的IP核打包,并在设计中进行调用的过程。

本实验旨在通过对一个简单的IP核进行封装和调用,加深对IP核概念和使用方法的理解,并掌握相应工具的使用技巧。

2. 分析2.1 IP核封装2.1.1 IP核设计首先,需要设计一个简单的IP核。

本实验选择了一个4位加法器作为示例。

该加法器能够对两个4位二进制数进行相加,并输出一个4位结果。

2.1.2 IP核封装步骤将设计好的IP核进行封装,主要包括以下几个步骤:1.打开Vivado软件,创建一个新项目。

2.在项目中创建一个新工程。

3.添加设计文件:将之前设计好的加法器模块添加到工程中。

4.设置顶层模块:选择加法器模块作为顶层模块。

5.进行综合和实现:生成综合后的网表文件和比特流文件。

6.封装IP核:在IP目录中创建一个新的IP核,将综合后的网表文件和比特流文件添加到IP核中。

7.配置IP核参数:设置输入输出端口、位宽等参数,并生成包含封装信息的XCI文件。

2.2 IP核调用2.2.1 调用环境准备在使用封装好的IP核之前,需要进行一些调用环境的准备工作:1.创建一个新项目。

2.在项目中创建一个新工程。

3.添加设计文件:将需要使用IP核的模块添加到工程中。

4.添加IP核:将之前封装好的加法器IP核添加到工程中。

2.2.2 IP核调用步骤完成调用环境准备后,可以按照以下步骤进行IP核的调用:1.在设计模块中实例化IP核:使用<ip_name>_inst语句实例化加法器IP核,并连接输入输出信号。

2.设置输入信号:根据实际需求设置输入信号的值。

实验报告软件设计(3篇)

第1篇一、实验目的1. 理解软件设计的基本概念和原则。

2. 掌握软件设计的方法和工具。

3. 培养软件设计的实践能力。

4. 提高软件设计文档的编写能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C三、实验内容本次实验以设计一个简单的学生信息管理系统为例,进行软件设计。

1. 需求分析学生信息管理系统主要功能包括:(1)学生信息录入:包括姓名、性别、年龄、学号、班级等基本信息。

(2)学生信息查询:根据学号、姓名等关键字进行查询。

(3)学生信息修改:修改学生信息。

(4)学生信息删除:删除学生信息。

(5)学生信息统计:统计学生信息。

2. 系统架构设计(1)采用分层架构,分为表现层、业务逻辑层和数据访问层。

(2)表现层:使用Windows窗体作为用户界面。

(3)业务逻辑层:封装业务逻辑,实现功能模块。

(4)数据访问层:负责与数据库进行交互,实现数据的增删改查。

3. 类设计(1)学生类(Student)属性:姓名、性别、年龄、学号、班级方法:添加学生信息、删除学生信息、修改学生信息、查询学生信息(2)学生管理类(StudentManager)属性:学生列表方法:添加学生、删除学生、修改学生、查询学生、统计学生信息(3)数据库访问类(DatabaseAccess)方法:连接数据库、执行SQL语句、关闭数据库连接4. 数据库设计(1)数据库:使用SQL Server 2019(2)数据表:学生表(Student)字段:姓名、性别、年龄、学号、班级5. 界面设计(1)使用Windows窗体设计用户界面。

(2)界面包括:学生信息录入、查询、修改、删除、统计等功能模块。

6. 编码实现(1)使用C进行编程实现。

(2)根据设计文档,实现各个类和方法。

7. 测试与调试(1)进行功能测试,确保系统正常运行。

(2)进行性能测试,确保系统响应速度快。

(3)调试程序,修复发现的错误。

数字电路实验报告-实验一[总结]

实验一数字电路实验基础一、实验目的⑴掌握实验设备的使用和操作⑵掌握数字电路实验的一般程序⑶了解数字集成电路的基本知识二、预习要求复习数字集成电路相关知识及与非门、或非门相关知识三、实验器材⑴直流稳压电源、数字逻辑电路实验箱、万用表⑵74LS00、74LS02、74LS48四、实验内容和步骤1、实验数字集成电路的分类及特点目前,常用的中、小规模数字集成电路主要有两类。

一类是双极型的,另一类是单极型的。

各类当中又有许多不同的产品系列。

⑴双极型双极型数字集成电路以TTL电路为主,品种丰富,一般以74(民用)和54(军用)为前缀,是数字集成电路的参考标准。

其中包含的系列主要有:▪标准系列——主要产品,速度和功耗处于中等水平▪LS系列——主要产品,功耗比标准系列低▪S系列——高速型TTL、功耗大、品种少▪ALS系列——快速、低功耗、品种少▪AS系列——S系列的改进型⑵单极型单极型数字集成电路以CMOS电路为主,主要有4000/4500系列、40H系列、HC系列和HCT系列。

其显著的特点之一是静态功耗非常低,其它方面的表现也相当突出,但速度不如TTL集成电路快。

TTL产品和CMOS产品的应用都很广泛,具体产品的性能指标可以查阅TTL、CMOS集成电路各自的产品数据手册。

在本实验课程中,我们主要选用TTL数字集成电路来进行实验。

2、TTL集成电路使用注意事项⑴外形及引脚TTL集成电路的外形封装与引脚分配多种多样,如附录中所示的芯片封装形式为双列直插式(DIP)。

芯片外形封装上有一处豁口标志,在辨认引脚分配时,芯片正面(有芯片型号的一面)面对自己,将此豁口标志朝向左手侧,则芯片下方左起的第一个引脚为芯片的1号引脚,其余引脚按序号沿芯片逆时针分布。

⑵电源每片集成电路芯片均需要供电方能正常使用其逻辑功能,供电电源为+5V单电源。

电源正端(+5V)接芯片的VCC引脚,电源负端(0V)接芯片的GND引脚,两者不允许接反,否则会损坏集成电路芯片。

Java实验报告一及作业总结二

Java实验报告⼀及作业总结⼆Java实验报告实验⼀ Java开发环境与简单Java程序⼀、实验⽬的(1)熟悉JDK开发环境(2)熟练掌握结构化程序设计⽅法⼆、实验内容1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

3. 编程求1!+2!+3!+…+20!。

4. 编写Java程序,计算8+88+888+…前10项之和。

5. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

6. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

7. 使⽤for循环打印下⾯的图形。

三、实验过程1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

实验源码:实验结果:1533703714072. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验源码:实验结果:-5003.编程求1!+2!+3!+…+20!。

实验源码:实验结果:40379134.编写Java程序,计算8+88+888+…前10项之和。

实验源码:实验结果:12866086085. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

实验源码:实验结果:6284966. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

实验源码:实验结果:1327. 使⽤for循环打印下⾯的图形。

四、实验总结:觉得还是要多练题,增加⾃⼰的逻辑,解决相关问题。

总结报告:⼀:类的定义:基本⽅式;public static 返回值类型⽅法名(参数类型参数名称,.......){⽅法体; return 返回值;}⽅法的三种调⽤⽅式;注意:void 只能⽤于单独调⽤;要有⼀个更重要的地⽅在学习类的定义的时候,定义成员⽅法的时候与基本⽅法不同,成员⽅法他不需要static关键字,这个要注意!熟悉代码 这⾥说明⼀下什么时候⽤什么时候不⽤static关键字:在定义成员⽅法时不⽤,即因为此时定义的⽅法将要由对象调⽤,⽽不像之前那样与主⽅法⼀起定义在⼀个类当中且由主⽅法直接调⽤。

Java程序设计实验报告

Java程序设计实验报告目录一、实验报告封面 (3)二、实验概述 (3)2.1 实验目的 (4)2.2 实验内容 (4)2.3 实验环境 (5)三、实验准备 (6)3.1 开发工具介绍 (6)3.2 环境搭建步骤 (7)3.3 相关知识储备 (8)四、实验步骤 (9)4.1 实验一 (11)4.1.1 实验目的 (12)4.1.2 实验内容 (12)4.1.4 代码实现 (13)4.2 实验二 (14)4.2.1 实验目的 (15)4.2.2 实验内容 (16)4.2.3 实验步骤 (17)4.2.4 代码实现 (17)4.3 实验三 (18)4.3.1 实验目的 (19)4.3.2 实验内容 (19)4.3.3 实验步骤 (20)4.3.4 代码实现 (21)4.4 实验四 (21)4.4.1 实验目的 (22)4.4.2 实验内容 (22)4.4.4 代码实现 (25)4.5 实验五 (25)4.5.1 实验目的 (26)4.5.2 实验内容 (27)4.5.3 实验步骤 (28)4.5.4 代码实现 (28)五、实验结果与分析 (29)5.1 实验一结果与分析 (30)5.2 实验二结果与分析 (32)5.3 实验三结果与分析 (34)5.4 实验四结果与分析 (35)5.5 实验五结果与分析 (37)六、实验总结与反思 (38)6.1 实验收获 (39)6.2 存在问题 (41)6.3 改进措施 (42)一、实验报告封面实验内容概述:本次实验旨在通过实践操作,加深对Java语言基础知识的理解,掌握Java编程的基本技能,包括但不限于面向对象编程、异常处理、集合框架、文件操作等。

通过完成指定的编程任务,提升程序设计和解决问题的能力。

二、实验概述本次实验旨在通过实践操作,深入理解和掌握Java程序设计的基本原理和编程技能。

实验内容涵盖了Java编程语言的核心概念,包括基本语法、数据类型、运算符、控制结构、面向对象编程等。

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

浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称类的设计与封装实验(一)学生姓名蓝礼巍专业班级学号一. 实验目的和要求1.掌握使用类将对象的属性与功能封装在类中的特点2.掌握实例方法与构造方法二. 实验内容1. 分析Time类的设计2. 分析并设计Product类3. 分析并设计Fraction类4. 设计Rectangle类5. 设计Student类及其测试类School类三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)1. 阅读以下关于Time类的代码,分析程序并回答相关的问题import java.text.DecimalFormat;public class Time{private int hour;private int minute;private int second;Time(){hour=0;minute=0;second=0;}Time(int h){ hour=h;minute=0;second=0;}Time(int h,int m){hour=h;minute=m;second=0;}Time(int h,int m,int s){hour=h;minute=m;second=s;}Time(Time time){this.hour=time.getHour();this.minute=time.getMinute();this.second=time.getSecond();}public int getHour(){return hour;}public int getMinute(){ return minute;}public int getSecond(){return second;}public String toUniversalString(){DecimalFormat twoDigits=new DecimalFormat("00");return twoDigits.format(getHour())+":"+twoDigits.format(getMinute())+":"+twoDigits.format(getSecond());}public String toStandardString(){DecimalFormat twoDigits=new DecimalFormat("00");return ((getHour()==12|| getHour()==0)? 12:getHour()%12)+":"+、twoDigits.format(getMinute())+":"+twoDigits.format(getSecond())+(getHour()<12?"AM":"PM");}}(1) Time类共有几个构造器(即构造方法),作用有什么不同?5种Time(){hour=0;minute=0;second=0;}无参赛构造,初始化hour,minute,second;Time(int h){ hour=h;minute=0;second=0;}定义h,令hour=h;Time(int h,int m){hour=h;minute=m;second=0;}定义h,m,令hour=h,mintue=m;Time(int h,int m,int s){hour=h;minute=m;second=s;}定义h,m,s;令hour=h,minute=m;second=sTime(Time time){this.hour=time.getHour();this.minute=time.getMinute();this.second=time.getSecond();}给hour,mintue,second赋值(2) getTime(),getMinute(),getSecond()方法的作用是什么?如果去掉这些方法,程序可以完成同样的功能吗?如何修改?给hour,mintue,second赋值Time(Time time){this.hour=hour;this,minute=minute;thi.second=second;}(3) 如果以下代码段出现在Time类的测试程序的main方法中,输出结果是什么?Time t1=new Time(5);System.out.println("The time is "+t1.toStandardString());The time is 5 AM(4) 如果以下代码段出现在Time类的测试程序的main方法中,输出结果是什么?Time t2=new Time(13,59,60);System.out.println("The time is"+t2.toStandardString());The time is 1:59:60 PM(5) 如果以下代码段出现在Time类的测试程序的main方法中,输出结果是什么?Time t3=new Time(13,30,0);Time t4=new Time(t3);System.out.println("The time is"+t4.toUniversalString());The time is 1:30:00 PM2. 确定以下代码段中是否存在错误,如果有错误,指出是逻辑错误还是语法错误,请在程序中用“~~~~~”标出错误的地方,并在第个练习的空白处写下正确的代码。

如果代码中没有错误,则在答案中写上“没有错误”。

注意:在每个程序段中可能包含多处错误。

(1) 以下代码定义了Product类,它有一个不带参数的构造器,将产品的名称设置为一个空的String,将price设置为0.00;该类还有一个toProductString方法,它返回一个包含产品的name和price的Stringimport java.text.*;public class Product{private String name;private double price;private static DecimalFormat money=new DecimalFormat("$0.00");public Product(){name=" ";price=0.00;}public String toProductString(){return name+" costs "+money.format(price);}}//end class Product答案:没有错误;(2) 如下代码定义了Product类的另一个构造器,它有2个参数,并将这些参数赋给相应的实例变量public Product(String name, double price){name= name;price=price;}答案:=name;This.price=price;(3) 如下代码定义了两个set方法,用于设置Product类的name和pricepublic setName( ){=name;}public setPrice( ){this.price=price;}答案:public setName( ){return name;}public setPrice( ){return price;}(4) 如下代码位于测试Product类的应用程序的main方法中,创建一个Product对象,并显示一个包含对象的实例变量值的StringProduct p1=new Product("Milk", 5.5);System.out.println(+ " "+p1.price);Milk 5.5(5) 如下代码位于测试Product类的应用程序的main方法中,创建一个Product对象,设置其实例变量的值,并显示一个包含实例变量值的StringProduct p1=new Product();p1.setName();p1.setPrice();System.out.println(p1.toProductString("Eggs",3));答案:Eggs costs 33.补充以下代码,完成对一个分数类Fraction的定义,并测试这个类public class Fraction{private int nume; //分子private int deno; //分母//无参构造器public Fraction( ){//初始化实例变量nume=5;deno=6;}//有参构造器public Fraction( int n, int d ){//初始化实例变量nume=n;deno=d;}//化简分数方法void swap(int & a, int & b) { int c = a; a = b; b = c; }int gcd(int a,int b) {if(0 == a ) { return b; }if( 0 == b) { return a; }if(a > b) { swap(a,b); }int c;for(c = a % b ; c > 0 ; c = a % b) { a = b; b = c; }return b;}void FracSimp( ){//求分数的分子和分母的最大公约数//化简分数Int a=gcd(nume deno);nume=nume/a;deno=deno/a;}/*欧几里德算法定理:gcd(a,b) = gcd(b,a mod b),以下是c语言的代码,可以参考void swap(int & a, int & b) { int c = a; a = b; b = c; }int gcd(int a,int b) {if(0 == a ) { return b; }if( 0 == b) { return a; }if(a > b) { swap(a,b); }int c;for(c = a % b ; c > 0 ; c = a % b) { a = b; b = c; }return b;} *///分数输出方法void FracOutput( ){//输出分数的分子和分母If(nume==0)Println(“除数不能为0”);ElsePrintln(nume+”/”+demo);}public static void main(String args[]){//定义第1个Fraction类的对象引用f1,调用无参构造方法// 定义第2个Fraction类的对象引用f2,调用有参构造方法//调用化简分数方法//调用分数输出方法Fraction f1=new Fraction();Fraction f2=new Faction(5,10);f2.FracSimp( );f2.FracOutput( );}4.构造一个Rectangle类(矩形类),它有两个浮点型属性length(长)和width(宽)。

相关文档
最新文档