实验报告实验类与对象精修订

合集下载

实验三 类与对象

实验三 类与对象

实验编号: 3 实验报告 2019年4月15日级班实验名称:类与对象姓名:_ 学号:_ 2017110554 指导老师:_____实验成绩:_ __实验3 类与对象一、实验目的:1)本实验的目的是让学生使用类来封装对象的属性和功能2)学会对象的使用3)学会构造函数的使用和初始化二、实验任务任务1:编写一个Java应用程序,该程序中有3个类:Trangle、Lander和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

具体要求如下:1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。

此外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个数能否构成一个三角形。

完成上述操作后,给Trangle再增加3个方法,分别用来返回3个边sideA,sideB, sideC的值。

2)Lander类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。

3)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。

程序运行效果三、代码实现1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle 类具有返回周长、面积以及修改三个边的功能。

此外,Trangle类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。

完成上述操作后,给Trangle再增加3个方法,分别用来返回3个边sideA,sideB, sideC的值。

(1)Trangle类,声明成员变量和构造方法。

(2)getPerimeter()方法:当满足任意两边和大于第三边的条件时,打印三边长并计算三角形周长,否则输出:不是一个三角形,不能计算周长。

(3)getArea()方法:当满足任意两边和大于第三边的条件时,计算三角形面积,否则输出:不是一个三角形,不能计算面积。

类与对象的实验报告

类与对象的实验报告

类与对象的实验报告类与对象的实验报告引言:在计算机科学领域,类与对象是面向对象编程(Object-Oriented Programming,简称OOP)的核心概念之一。

类是一种抽象的数据类型,用于描述具有相同属性和行为的对象集合。

对象则是类的实例,具体化了类的属性和行为。

本实验旨在通过编写一个简单的类与对象的程序,深入理解类与对象的概念及其在编程中的应用。

实验过程:1. 定义一个类:在这个实验中,我们以动物为例,定义了一个名为Animal的类。

该类具有以下属性和行为:- 属性:名称、年龄、种类- 行为:吃、睡、叫2. 创建对象:在主程序中,我们创建了两个Animal对象,分别代表一只狗和一只猫。

通过调用构造函数,为对象的属性赋值。

3. 调用对象的方法:我们通过调用对象的方法,模拟了动物的行为。

例如,我们调用了eat()方法,让动物吃东西;调用了sleep()方法,让动物睡觉;调用了make_sound()方法,让动物发出叫声。

4. 修改对象属性:我们还演示了如何修改对象的属性。

通过调用set_age()方法,我们改变了动物的年龄;通过调用set_type()方法,我们改变了动物的种类。

实验结果:通过运行程序,我们观察到以下结果:- 狗的名称是"旺财",年龄是3岁,种类是"狗"。

狗吃骨头,睡觉时打呼噜,发出汪汪的叫声。

- 猫的名称是"咪咪",年龄是2岁,种类是"猫"。

猫吃鱼,睡觉时打呼噜,发出喵喵的叫声。

- 经过修改后,狗的年龄变为5岁,种类变为"藏獒";猫的年龄变为3岁,种类变为"波斯猫"。

讨论与分析:通过这个实验,我们深入理解了类与对象的概念及其在编程中的应用。

类是一种抽象的模板,用于描述具有相似属性和行为的对象集合。

对象是类的实例,具体化了类的属性和行为。

通过定义类和创建对象,我们可以更好地组织和管理程序的代码。

类与对象实验报告

类与对象实验报告

浙江理工大学信息学院
面向对象程序设计实验报告
实验名称:类的概念与利用学时安排:3
实验类别:设计性实验实验要求:1人1组姓名:于晴学号: 20
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的
1)把握类的概念、类的概念格式、类与结构的关系、类的成员属性和类的封装性;
2)把握类对象的概念;
3)明白得类的成员的访问操纵的含义,公有、私有和爱惜成员的区别;
4)把握构造函数和析构函数的含义与作用、概念方式和实现,能够依照要求正肯概念和重载构造函数。

能够依照给定的要求概念类并实现类的成员函数;
二、实验原理介绍
通过成立类及对象,用类的成员函数和对象访问类的成员;
利用成立类的构造函数,完成类的成员的初始化工作;
三、实验设备介绍
软件需求: Visual C++
硬件需求: 关于硬件方面的要求,建议配置是Pentium III 450以上的CPU 处置器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

四、实验内容
编写一个程序,模拟电梯的功能。

功能接口包括电梯上行按钮、下行按钮、楼层选择和电梯在行驶进程中的楼层显示。

要求:。

C++实验报告之类与对象

C++实验报告之类与对象

题目1:设计一个立方体类Box,它能计算并输出立方体的体积和表面积。

实验提示:Box类包含三个私有数据成员a(立方体边长)、volume(体积)和area(表面积),另有两个构造函数以及seta()(设置立方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出结果)。

源程序1/*1.h*/#ifndef BOX_H#define BOX_Hclass box{float len,wid,high;public:box(float l=0,float w=0,float h=0):len(l),wid(w),high(h){}void a();void seta(float l,float w,float h);void getvolume();void getarea();void disp();};#endif/*1.cpp*/#include<1.h>#include<iostream>using namespace std;void box::a(){cout<<"边长:"<<len<<","<<wid<<","<<high<<endl;}void box::seta(float l,float w,float h){len=l;wid=w;high=h;}void box::getvolume(){cout<<"体积:"<<len*wid*high<<endl;}void box::getarea(){cout<<"表面积:"<<2*(len*wid+len*high+wid*high)<<endl; }void box::disp(){cout<<"长宽高分别为:"<<len<<","<<wid<<","<<high<<endl; }/*2.cpp*/#include<1.h>#include<iostream>using namespace std;void main(){box a;a.seta(12,34,56);a.disp();a.a();a.getarea();a.getvolume();}运行结果截图题目2:下面是一个类的测试程序,设计出能使用如下测试程序的类。

学号姓名--类与对象基础实验(三)实验报告

学号姓名--类与对象基础实验(三)实验报告

个人收集整理-ZQ课程名称面向对象程序设计实验项目名称类与对象基础实验(三)学生姓名专业班级学号一. 实验目地和要求.掌握大数处理与类.掌握时间处理类与类、类.掌握异常处理与类二. 实验内容. 编程实现:大整数地数值计算. 编程实现:用大整数求阶乘之和. 编程实现:计算两个日期地天数之差. 编程实现:计算生日信息. 编程实现:数字转换地异常处理三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果). 编程实现:大整数地数值计算.编写一个应用程序,计算两个大整数地和、差、积和商,并计算一个大整数地因子个数.(部分源码参考讲义)文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:请比较和地主要区别,并简要说明地主要用途.答:. 编程实现:用大整数求阶乘之和.编写一个应用程序,用计算!…!.要求地值从键盘输入.文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:. 编程实现:计算两个日期地天数之差.编写应用程序,来计算任意两个日期地天数之差.要求:两个日期用字符串形式输入(比如输入“”表示年月日),需要将日期字符串地年、月、日分别转换为数字形式.文档来自于网络搜索程序源码如下:请将运行结果截图:. 编程实现:生日信息.编写应用程序,计算你地生日还有多少天,你地生日是星期几. 程序源码如下:请将运行结果截图:. 编程实现:数字转换地异常处理.输入两个数,计算两个数想除地结果(考虑除数为地异常情况).程序源码如下:请将运行结果截图:四. 讨论、心得(可写遇到地问题及解决方法,或者对技术地理解等)1 / 1。

类与对象实验报告

类与对象实验报告

类与对象实验报告类与对象实验报告引言:类与对象是面向对象编程的基本概念,通过定义类和创建对象,可以实现对数据和行为的封装,使程序更加模块化和可扩展。

本实验旨在通过实际操作,加深对类与对象的理解,并掌握其基本用法。

实验过程:1. 定义类:在实验开始前,我们首先需要定义一个类。

类是对象的抽象描述,包含了对象的属性和方法。

以汽车为例,我们可以定义一个Car类,其中包含品牌、颜色和速度等属性,以及启动、加速和刹车等方法。

2. 创建对象:在定义了Car类之后,我们可以通过创建对象来实例化该类。

通过使用new关键字,我们可以创建多个汽车对象,每个对象都拥有独立的属性和方法。

例如,我们可以创建一个名为myCar的对象,它是Car类的一个实例。

3. 访问对象的属性和方法:创建了对象之后,我们可以通过点运算符来访问对象的属性和方法。

例如,通过myCar.brand可以获取myCar对象的品牌属性,通过myCar.start()可以调用myCar对象的启动方法。

这样,我们可以通过对象来操作和管理数据,使代码更加清晰和可读。

4. 对象之间的交互:在实际编程中,对象之间经常需要进行交互。

通过在类中定义方法,我们可以实现对象之间的数据传递和信息交流。

例如,我们可以定义一个方法来获取其他汽车对象的速度,并根据这些速度进行比较和判断。

实验结果:通过实验,我们深入了解了类与对象的概念和用法。

通过定义类和创建对象,我们可以更好地组织和管理代码,提高程序的可维护性和可扩展性。

通过访问对象的属性和方法,我们可以实现对数据和行为的封装,使代码更加模块化和易于理解。

通过对象之间的交互,我们可以实现数据的共享和协作,提高程序的效率和灵活性。

实验总结:类与对象是面向对象编程的核心概念,掌握了类与对象的基本用法对于开发高质量的程序至关重要。

通过本次实验,我们加深了对类与对象的理解,并通过实际操作掌握了其基本用法。

在以后的编程过程中,我们可以更加灵活地运用类与对象,提高代码的可读性和可维护性。

java 类与对象实验报告

java 类与对象实验报告

java 类与对象实验报告Java 类与对象实验报告一、实验目的本次实验的目的是通过实际操作,加深对Java类与对象的理解与掌握。

通过编写程序,创建类和对象,实现类的各种属性和方法,并进行相应的测试和调试,从而熟悉类与对象的概念、创建与使用。

二、实验内容本次实验包括以下几个方面的内容:1. 创建一个名为"Student"的类,该类包含学生的姓名、年龄、性别等属性,以及相应的get和set方法。

2. 创建一个名为"Course"的类,该类包含课程的名称、学分、教师等属性,以及相应的get和set方法。

3. 创建一个名为"Teacher"的类,该类包含教师的姓名、年龄、性别等属性,以及相应的get和set方法。

4. 在"Student"类中添加一个名为"selectCourse"的方法,该方法可以选择课程,并将其添加到学生的课程列表中。

5. 在"Student"类中添加一个名为"dropCourse"的方法,该方法可以退选课程,并将其从学生的课程列表中移除。

6. 在"Course"类中添加一个名为"showInfo"的方法,该方法可以显示课程的详细信息。

7. 在"Teacher"类中添加一个名为"teachCourse"的方法,该方法可以教授课程,并显示教师的相关信息。

三、实验过程首先,我们需要创建一个名为"Student"的类。

在该类中,我们定义了学生的姓名、年龄、性别等属性,并为每个属性添加了相应的get和set方法。

接着,我们在该类中添加了一个名为"selectCourse"的方法,该方法可以选择课程,并将其添加到学生的课程列表中;同时,我们还添加了一个名为"dropCourse"的方法,该方法可以退选课程,并将其从学生的课程列表中移除。

实验报告实验类与对象精修订

实验报告实验类与对象精修订

实验报告实验类与对象标准化管理部编码-[99968T-6889628-J68568-1689N]实验报告_实验3类与对象(学生学号_姓名)一、实验目的1.熟悉类的组成,掌握类的声明方法;2.理解构造方法的作用,并掌握构造方法的定义;3.熟练使用访问器和设置器实现信息隐藏和封装;4.熟悉一般方法、构造方法的重载;5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式;7.掌握this关键字的使用以及对象数组的创建和访问;8.掌握Java包的创建、包成员的各种访问方式;9.掌握一维数组:声明,创建,初始化,数组元素的访问;10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。

二、实验内容与步骤1.请回答下列问题:(1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么?答:两个PI,floatl类型,静态私有权限Radius,float;类型,私有权限(2)类中的“PI”的值可以在程序的方法中更改吗?答:不可以,因为PI为静态变量(3)Cirecle类定义了几个方法它们的访问权限怎样答:四个,getRadius(),setRadius(floatradius),getPerimeter(),getArea()都是公有权限2.写出Rectangle类的程序代码:classRectangle{privatefloatwidth;privatefloatlength;publicfloatgetWidth() //获取矩形宽度{returnwidth;}publicfloatgetLength() //获取矩形长度{returnlength;}publicfloatgetPerimeter() //获取矩形周长{return2*(width+length);}publicfloatgetArea() //获取矩形面积{return(width*length);}publicvoidsetWidth(floatw) //设置矩形宽度{width=w;}publicvoidsetLength(floatl) //设置矩形长度{length=l;}}3.回答下列问题:(1)该程序中有几个类主类是什么如果将这两个类放在一个文件中,源程序文件名应是什么?答:两个类:Circle、CircleTest;主类是CircleTest;源程序文件名是CircleTest。

java类与对象实验报告心得

java类与对象实验报告心得

java类与对象实验报告心得哇,做完这个Java类与对象的实验,真的是感触颇多呢。

在做这个实验之前呀,对于Java里的类和对象,我就只停留在理论知识上,觉得它们好抽象哦。

什么是类呢?就像是一个蓝图一样,描述了对象应该具有的属性和行为。

可那时候,我对这个概念也只是一知半解啦。

当开始做实验的时候,我才真正体会到其中的乐趣与挑战。

创建类的时候,我要去仔细思考这个类到底需要哪些属性。

就好比我要创建一个表示学生的类,那姓名、年龄、学号这些属性肯定是必不可少的呀。

这就像是在设计一个学生的模板一样,好有趣呢。

定义类中的方法也很有意思。

这些方法就像是这个类的功能一样。

比如说学生类中的学习方法,我可以在这个方法里编写一些代码来表示学生学习的过程。

刚开始写的时候,还老是出错呢,哎呀。

不是语法错误,就是逻辑上有点混乱。

不过这也是学习的过程嘛。

创建对象就像是根据这个蓝图来制造一个具体的东西。

我根据学生类创建了具体的学生对象,每个学生对象都有自己独特的属性值。

这就像是在现实生活中,每个学生都是独一无二的一样。

当我成功创建出这些对象并且让它们执行相应的方法时,那种成就感真的难以言表,哈哈。

在实验过程中,我还深刻体会到了封装的重要性。

把类的属性和方法封装起来,就像是给它们穿上了一层保护罩一样。

这样可以防止外部的代码随意修改类内部的数据,使得代码更加安全和可靠。

这让我觉得Java真的是一门很严谨的编程语言呢。

另外呀,类与类之间的关系也很复杂但又很有趣。

有继承关系,就像儿子类继承父亲类的属性和方法一样。

还有组合关系,一个类可以包含其他类的对象作为自己的属性。

理解这些关系的时候,我费了好大的劲呢,不过一旦理解了,就感觉像是打开了新世界的大门。

这次实验让我对Java类与对象的理解不再停留在书本上的文字,而是真正地可以运用它们来编写程序了。

我觉得自己在编程的道路上又前进了一大步呢。

希望以后还能做更多这样有趣又有挑战性的实验,让我可以更加熟练地掌握Java编程呀。

[实验报告]类和对象

[实验报告]类和对象

[实验报告]类和对象
一、实验目的
通过本次实验,了解抽象的一种程序设计概念“类”和“对象”,理解类之间的继承与多态性,以及封装对对象的各种属性和行为,实现软件对象模型与真实世界对象间的映射。

二、实验内容
1.定义类与对象
(1)类是代表一类实体的抽象。

它包含了一个共同拥有的结构和行为。

类是面向对象程序设计的基本元素。

(2)对象是一个实例。

它拥有一个特定于其类型的属性,并表现出对应的行为。

对象是程序中实际的可操作的元素。

2.类的成员
(1)类的成员可以是变量,函数,常量等等。

(2)变量:类的成员变量可以存储数据成员和提供给类的方法,这些变量被称为实例变量;类变量存储类及其对象的信息。

(3)函数:类的成员函数用于封装一定的行为或对对象的设置,它可以访问实例变量和类变量的值,以及实现一定的功能。

多态性是指一个类可以根据不同环境要求而采用不同的行为。

接口就是把数据和逻辑封装在一起的内部接口。

java类与对象实验报告

java类与对象实验报告

java类与对象实验报告Java类与对象实验报告一、引言Java是一种面向对象的编程语言,类和对象是Java编程的基本概念。

在本次实验中,我们将学习和掌握Java类和对象的概念、定义和使用方法,并通过实际的编程实验来加深对这些概念的理解。

二、实验目的1. 理解Java类和对象的概念;2. 学会定义和使用Java类;3. 掌握创建和操作Java对象的方法;4. 熟悉Java类和对象的相关语法和规范。

三、实验过程1. 类的定义在Java中,类是对象的模板,用于描述对象的属性和行为。

我们首先需要定义一个类,以便创建对象。

类的定义包括类名、属性和方法。

属性即对象的特征,方法即对象的行为。

2. 对象的创建通过使用关键字"new",我们可以创建一个类的对象。

对象是类的实例化,每个对象都有自己的属性和方法。

3. 对象的属性和方法对象的属性和方法可以通过对象名加点操作符来访问。

属性可以是基本类型或其他类的对象,方法可以是对象的行为或功能。

4. 构造方法构造方法是一种特殊的方法,用于创建对象时进行初始化操作。

构造方法的名称必须与类名相同,没有返回类型,可以有参数。

5. 封装性封装性是面向对象编程的重要特性之一,它将数据和方法封装在类中,对外部隐藏内部实现细节。

通过使用访问修饰符(private, public, protected)来控制属性和方法的访问权限。

6. 继承继承是面向对象编程的另一个重要特性,它允许我们创建一个新类,并从现有类中继承属性和方法。

通过使用关键字"extends"来实现继承。

7. 多态性多态性是面向对象编程的核心概念之一,它允许我们使用一个父类类型的引用来引用子类的对象。

通过方法的重写和重载来实现多态性。

四、实验结果通过本次实验,我们成功定义了一个Java类,并创建了多个对象。

我们可以通过对象名来访问对象的属性和方法,并对其进行操作。

我们还学习了构造方法的使用,以及封装性、继承和多态性的相关概念。

Java类与对象实验报告

Java类与对象实验报告

实验报告一、实验项目:类与对象二、实验目的:1。

学会使用类来封装对象的属性和功能2. 掌握类变量与实例变量,以及类方法与实例方法的区别3。

掌握使用package和import语三、实验器材:计算机、Java编程软件JCreator四、实验原理(或仪器装置图):1. 类与对象类是组成Java程序的基本要素。

类封装了一类对象的状态和方法。

类是用来定义对象的模板。

类声明class 类名{类体}对象的声明一般格式为:类的名字对象名字;定义对象引用后,用new运算符完成对象的创建工作,分配存储空间,并对其初始化。

变量名=new 类名([构造方法实参表]);对象的使用访问成员的基本语法形式如下:对象名。

变量成员名对象名.方法成员名([实际参数表])2.成员变量和局部变量成员变量格式:[修饰符] 变量类型变量名[=初值];成员方法:格式:[修饰符]返回值的数据类型方法名(参数1,参数2,…){语句序列;return[表达式];}类中定义的变量是成员变量,而方法中定义的变量是局部变量。

3. 构造方法构造方法是一种特殊的方法,创建对象时被自动调用.与一般的方法不同,它没有返回值类型的说明,方法体中也不可以用return语句带回返回值。

构造方法的方法名与类名相同在构造方法中可以通过this关键字调用该类中其他的构造方法。

4。

包包是Java语言中有效地管理类的一个机制。

①通过关键字package声明包语句。

package 语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包.package语句的一般格式为:package 包名;②import 语句:使用import 语句可以引入包中的类。

五、实验步骤及数据记录:1.定义一个圆柱体类Cylinder,并创建相应的对象,然后计算圆柱体的底面积与体积。

class Cylinder{double radius;int height;double pi=3.14;void area(){System。

类和对象实验报告

类和对象实验报告

实验:类和对象System.out.println();}}}程序运行结果截图如下:2、用直接选择排序方法给一维数组{63,4,24,1,3,15}进行排序。

排序过程如下图所示:具体程序代码如下:package test;public class SelectSort {public static void main(String[] args){int array[]={63,4,24,1,3,15};SelectSort sorter=new SelectSort();sorter.sort(array);}public void sort(int[]array){int index;for(int i=1;i<array.length;i++){index=0;for(int j=1;j<=array.length-i;j++){if(array[j]>array[index]){index=j;}}int temp=array[array.length-i];array[array.length-i]=array[index];array[index]=temp;}showArray(array);}public void showArray(int[]array){System.out.println("选择排序的结果是:");for(int i:array){System.out.print(i+"\t");}System.out.println();}}程序运行结果截图如下:3、请编译下面程序段,如果出错,请写出出错原因,并修改程序使它正常运行。

public class Test4 {int x = 50;static int y =200 ;public static void method( ) {System.out.println(x+y);}public static void main(String[ ] args) {Test4.method( );}}具体程序代码如下:public class Test4 {static int x = 50;static int y =200 ;public static void method( ) {System.out.println(x+y);}public static void main(String[ ] args) {Test4.method( );}}程序运行结果截图如下:4、定义一个Father和Child类,并进行测试。

JAVA实验报告-实验3-类与对象-

JAVA实验报告-实验3-类与对象-

Java Object-Oriented Programming Experimental ReportSystem.out.println ("Your lucky numbers are " + lucky1 + ", " + lucky2+ ", and " + lucky3);}}3.2 Working with Strings(Choose to do)3.3 Rolling Dice3.4 Computing Distance3.5 formatting Output3.6 Playing with Cards(Choose to do)3.7 Experimenting with the Integer Class(Choose to do) 3.8 Nested Panels(1)宽度两倍(4)添加主界面宽度高度设定(5)添加MyPanels4.Experimental results and data processing5.Analysis and discussionScore: 6.Teacher ReviewsSignature:Date:Experimental Report List1Exercises1) Source code list3.3package test_java_03;import java.util.Random;public class point3_3 {public static void main(String[] args) {Random ger = newint lucky1, lucky2, lucky3;lucky1 = ger.nextInt(6)+1;lucky2 = (int)(ger.nextFloat()*6)+1;lucky3 = (int)(ger.nextFloat()*10)+20;System.out.print(lucky1+lucky2);}}3.4package test_java_03;import java.util.Scanner;public class point_3_4 {public static void main (String[] args){double x1, y1, x2, y2;double distance;Scanner scan = new Scanner(System.in);System.out.print ("Enter the coordinates of the first point " + "(put a space between them): ");x1 = scan.nextDouble();y1 = scan.nextDouble();System.out.print ("Enter the coordinates of the second point: ");x2 = scan.nextDouble();y2 = scan.nextDouble();doubley=Math.abs(y2-y1)*Math.abs(y2-y1),x=Math.abs(x2-x1)*Math.abs(x2-x1);double z=Math.sqrt(y+x);System.out.print("The distance between the two points is "+z);}}3.5package test_java_03;import java.util.*;import java.text.NumberFormat;import java.text.DecimalFormat;public class point_3_5 {public static void main (String[] args){final double OUNCES_PER_POUND = 16.0;double pricePerPound;double weightOunces;double weight;double totalPrice;Scanner scan = new Scanner(System.in);NumberFormat money=NumberFormat.getCurrencyInstance();DecimalFormat fmt=new DecimalFormat("0.#####");System.out.println ("Welcome to the CS Deli!!\n ");System.out.print ("Enter the price per pound of your item: ");pricePerPound = scan.nextDouble();System.out.print ("Enter the weight (ounces): ");weightOunces = scan.nextDouble();weight = weightOunces / OUNCES_PER_POUND;totalPrice = pricePerPound * weight;System.out.println("total price is:"+fmt.format(totalPrice));}}3.8(1)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.blue);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}(4)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);// JPanel subPanel4 = new JPanel();// subPanel4.setPreferredSize(new Dimension(320,20));// subPanel4.setBackground(Color.orange);// JLabel label4 = new JLabel("My Panels");// subPanel4.add(label4);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.white);primary.setPreferredSize(new Dimension(320,260));//primary.add (subPanel4);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}(5)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);JPanel subPanel4 = new JPanel();subPanel4.setPreferredSize(new Dimension(320,20));subPanel4.setBackground(Color.orange);JLabel label4 = new JLabel("My Panels");subPanel4.add(label4);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.white);primary.setPreferredSize(new Dimension(400,400));primary.add (subPanel4);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}。

类与对象基础实验(二)实验报告

类与对象基础实验(二)实验报告

浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称类与对象基础(二)学生姓名葛添翼专业班级计算0903 学号30901183一. 实验目的和要求1.掌握String类与StringBuffer类2.掌握数组对象的使用3.掌握基本数据类型的包装类的使用二. 实验内容1. 编程实现:解析身份证号码的生日。

2. 编程实现:字符串比较和转换。

3. 编程实现:解析身份证号码的地区。

4. 编程实现:数组操作。

三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)1. 编程实现:解析身份证号码的生日。

要求从键盘输入身份者号码字符串,将其中生日信息提取,并屏幕显示。

(身份证号码验证,只需要验证身份证号码为18位)。

请分析并回答以下问题:(1)程序源码如下:import java.util.*;public class test1 {public static void main(String args[]){Scanner scanner = new Scanner(System.in);System.out.println("请输入身份证号!");String a = scanner.next();int b =a.length();if (b == 18)System.out.println(a.substring(6,10)+'-'+a.substring(10,12)+'-'+a .substring(12,14));elseSystem.out.println("error!");}}(2)请将运行结果截图:2.编程实现:字符串比较和转换。

编写一个Java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按照字典顺序比较两个字符串的大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串。

实验4 类和对象实验报告

实验4 类和对象实验报告

实验4类和对象报告【实验目的】1.掌握类的构造方法;2.掌握对象的使用方法。

3.复习具有不同访问属性的成员的访问方式。

4.观察构造函数和析构函数的执行过程。

5.学习类的使用方法。

6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。

【实验内容】1.声明一个名为Ellipse的结构体,其分量为椭圆的外切矩形的左上角与右下角两个点的坐标,并用它声明两个结构体变量,分别输入顶点坐标,计算并输出椭圆的面积;运行结果:实验遇到的问题:结构体的定义忘了,翻书后就ok了2.声明一个名为Ellipse的椭圆类,其公有的(public)数据成员为椭圆的外切矩形的左上角与右下角两个点的坐标;声明两个Ellipse类的对象,分别输入顶点坐标,计算并输出椭圆的面积;运行结果:3.声明一个名为Ellipse的椭圆类,其私有的(private)数据成员为椭圆的外切矩形的左上角与右下角两个点的坐标,声明公有的(public)成员函数访问椭圆的外切矩形的顶点坐标;声明两个Ellipse类的对象,分别输入顶点坐标,计算并输出椭圆的面积;运行结果:实验遇到的问题:暂时无太大的问题4,声明一个名为Ellipse的椭圆类,其私有的(private)数据成员为椭圆的外切矩形的左上角与右下角两个点的坐标,设计构造函数Ellipse(int,int,int,int)对椭圆的外切矩形的顶点坐标赋值,设计函数Area()计算椭圆的面积;声明两个Ellipse类的对象,计算并输出椭圆的面积。

实验遇到的问题:析构函数的构建不是太懂,查阅相关书籍后,基本上懂了。

5.定义一个类ClsName,要求该类设计如下:(1)该类有两个整型数据成员x和y;(2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中输出必要的信息以示区别;(3)设计2个成员函数用来读取数据成员x和y;(4)设计2个成员函数用来设置数据成员x和y;(5)设计1个成员函数用来在屏幕上打印输出数据成员x和y;(6)在main()函数中用三个不同的构造函数创建3个对象,并使用所有的成员函数对这些对象进行必要的操作。

类与对象的设计实验报告

类与对象的设计实验报告

类与对象的设计实验报告一、实验目的本实验旨在通过设计类与对象,加深对面向对象编程的理解,掌握类的定义、对象的创建和调用以及类与对象之间的关系。

二、实验过程1. 类的定义首先根据需求分析,确定了需要设计的类,包括Student类和Course 类。

其中Student类包括学生的姓名、学号、性别和年龄等属性,还包括选修的课程信息;Course类包括课程的名称、学分和教师等属性。

pythonclass Student:def __init__(self, name, student_id, gender, age): = nameself.student_id = student_idself.gender = genderself.age = ageself.courses = []def add_course(self, course):self.courses.append(course)def show_courses(self):for course in self.courses:print(course)class Course:def __init__(self, name, credit, teacher): = nameself.credit = creditself.teacher = teacherdef __str__(self):return f"Course: {}, Credit: {self.credit}, Teacher: {self.teacher}"2. 对象的创建和调用在主程序中,我们可以创建相应的对象并进行属性赋值、方法调用等操作。

pythons1 = Student("Tom", 1001, "male", 18)c1 = Course("Math", 4, "Mr. Smith")c2 = Course("English", 3, "Ms. Johnson")s1.add_course(c1)s1.add_course(c2)s1.show_courses()3. 类与对象之间的关系通过调用对象的方法,我们可以为一个学生对象添加多门课程,进一步说明了类与对象之间的关系。

实验报告(类和对象1)

实验报告(类和对象1)

面向对象的编程C++ 课程实验报告课程名称面向对象的编程C++班级B0901 实验日期姓名贺军学号09405020107 实验成绩实验名称实验:类和对象(1)实验目的及要求了解面向对象程序设计基本原理及主要特点——抽象、封装、继承和多态,掌握类和对象的概念以及如何利用类来解决具体问题。

实验环境Visual C++集成环境、Windows XP 操作系统实验内容1. 写出声明一个称为Employee的类的代码,该类有一下数据成员:age、yearsOfService、Salary;重写Employee类使其数据成员为私有并提供公有方法来获得和设置每个数据成员;写一个带有Employee类的程序,生成两个Employees;设置它们的age、yearsOfService和Salary;且打印它们的值。

2. 定义一个Dog类,包含name、age、sex和weight等属性及对这些属性的操作方法。

实现并测试这个类。

参考输出结果:算法描述及实验步骤定义一个类Employee。

在主函数中,定义了该类的两个一般对象d1和d2,有定义了一个指向类Employee的指针pd,初始化后它指向对象d2。

通过调试成员函数setEmployee()分别给对象d1和d2进行了赋值,即改变了这两个对象的数据成员的值。

根据给出的四个条件设置不同的类型的参数,在根据类的定义格式写出程序。

在定义name时,一定要注意设置参数。

调试过程及实验结果总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)附录第一个程序:#include<iostream.h>class Employee{public:void setEmployee(int a,int b,int c){age=a;yearofservice=b;salary=c;}void Print(){cout<<"age="<<age<<"yearofservice="<<yearofservice<<"salary="<<salary<<endl;}private:int age,yearofservice,salary;};void main(){第二个程序:#include <iostream.h>#include <string.h>class Dog{public:Dog(char a[],int b,char c,float d){strcpy(name,a);age=b;sex=c;weight=d;}void print(){cout<<"Dog'name:"<<name<<endl;cout<<"Dog'age:"<<age<<endl;cout<<"Dog'sex:"<<sex<<endl;cout<<"Dog'weight:"<<weight<<endl;Employee d1,d2,*pd=&d2;d1.setEmployee(26,2,5000); pd->setEmployee(34,1,4800); d1.Print();d2.Print();}}private:char name[20];int age;char sex;float weight;};void main(){Dog d("旺财",3,'m',2.4);d.print();}。

类与对象基础实验(一)实验报告(精品)

类与对象基础实验(一)实验报告(精品)

浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称类与对象基础实验(一)学生姓名专业班级学号一. 实验目的和要求1. 掌握对象与类的关系2. 掌握类的域、方法、构造器的概念3. 掌握对象的创建与初始化4. 掌握方法和域(静态和非静态)的使用方式5. 掌握Math类,掌握静态成员的使用方式6. 理解方法和构造器重载现象二. 实验内容1. 程序阅读并回答问题2. 类的使用3. 编程实验:猜数字4. 编程实验:素数判断与统计三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)1. . 程序阅读并回答问题:阅读实验讲义的对应代码,回答以下问题。

(1)将上述代码编译运行,将运行结果截图。

(2)上述源码中共定义了几个类?分别刻画了哪些数学图形?Triangle类有哪些域和方法?Triangle的这些域和方法是静态的还是非静态的?答:定义了三个类,分别刻画了求三角形,梯形,圆的周长以及面积问题Triangle类中域有double sideA,sideB,sideC,area,length;boolean boo;域是非静态的方法有double getLength();public double getArea()以及public void setABC(double a,double b,double c)方法也是非静态的(3)类和对象是什么关系?请从上述AreaAndLength.java中举例说明如何创建对象。

答:类是对象的模版,对象是类的一个实例对象的创建利用构造器,比如在Triangle中存在着构造器Triangle(){};在最后的main函数中存在着triangle =new Triangle(3,5,4);创建函数对象并且赋值(4)Triangle类中出现的Math.sqrt是什么?请举例说明Math类中还有哪些常用域和方法?答:Math.sqrt为数学类中求开平方的静态方法area=Math.PI*radius*radius;得知math中存在Math.PI常用域常用的方法有Math.random()返回随机数字等(5)静态域和方法与非静态域和方法在使用时有什么区别?请从上述AreaAndLength.java中举例说明。

类与对象实验报告

类与对象实验报告

类与对象实验报告类与对象实验报告引言在计算机科学领域,类与对象是面向对象编程的基本概念之一。

通过定义类,我们可以创建对象,从而实现对数据和行为的封装和抽象。

本实验旨在通过实际操作,深入理解类与对象的概念,并掌握其在程序设计中的应用。

实验目的1. 理解类与对象的概念和关系;2. 学会使用类和对象进行数据封装和行为抽象;3. 掌握类与对象在程序设计中的应用。

实验过程1. 类的定义在本实验中,我们以一个简单的学生类为例进行说明。

首先,我们需要定义一个类来表示学生。

在类的定义中,我们可以包含学生的属性和行为。

比如,学生的姓名、年龄、性别等属性,以及学生的学习、休息等行为。

2. 对象的创建在类的定义完成后,我们可以通过创建对象来实例化这个类。

对象是类的具体实例,每个对象都有自己的属性和行为。

比如,我们可以创建一个名为"张三"的学生对象,给该对象的属性赋值,并调用对象的方法来执行相应的行为。

3. 属性的访问和修改通过对象,我们可以访问和修改类中定义的属性。

比如,我们可以通过对象的属性来获取学生的姓名和年龄,并通过修改属性的值来更新学生的信息。

4. 方法的调用类中的方法是对行为的抽象,通过方法,我们可以对对象进行操作。

比如,我们可以调用学生对象的学习方法,来模拟学生的学习行为。

同时,方法也可以接受参数,以实现更加灵活的功能。

实验结果通过实验,我们成功创建了一个学生类,并实例化了一个学生对象。

通过对象的属性和方法,我们可以获取和修改学生的信息,同时也可以模拟学生的行为。

这样,我们就实现了对学生的封装和抽象,提高了程序的可读性和可维护性。

实验总结通过本次实验,我深刻理解了类与对象的概念和关系。

类是对一类具有相同属性和行为的对象的抽象,而对象则是类的具体实例。

通过定义类和创建对象,我们可以实现对数据和行为的封装和抽象,提高了程序的可读性和可维护性。

在实际的程序设计中,类与对象是非常重要的概念,对于理解和应用面向对象编程具有重要意义。

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

实验报告实验类与对象标准化管理部编码-[99968T-6889628-J68568-1689N]实验报告_实验3类与对象(学生学号_姓名)一、实验目的1.熟悉类的组成,掌握类的声明方法;2.理解构造方法的作用,并掌握构造方法的定义;3.熟练使用访问器和设置器实现信息隐藏和封装;4.熟悉一般方法、构造方法的重载;5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式;7.掌握this关键字的使用以及对象数组的创建和访问;8.掌握Java包的创建、包成员的各种访问方式;9.掌握一维数组:声明,创建,初始化,数组元素的访问;10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。

二、实验内容与步骤1.请回答下列问题:(1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么?答:两个PI,floatl类型,静态私有权限Radius,float;类型,私有权限(2)类中的“PI”的值可以在程序的方法中更改吗?答:不可以,因为PI为静态变量(3)Cirecle类定义了几个方法它们的访问权限怎样答:四个,getRadius(),setRadius(floatradius),getPerimeter(),getArea()都是公有权限2.写出Rectangle类的程序代码:classRectangle{privatefloatwidth;privatefloatlength;publicfloatgetWidth() //获取矩形宽度{returnwidth;}publicfloatgetLength() //获取矩形长度{returnlength;}publicfloatgetPerimeter() //获取矩形周长{return2*(width+length);}publicfloatgetArea() //获取矩形面积{return(width*length);}publicvoidsetWidth(floatw) //设置矩形宽度{width=w;}publicvoidsetLength(floatl) //设置矩形长度{length=l;}}3.回答下列问题:(1)该程序中有几个类主类是什么如果将这两个类放在一个文件中,源程序文件名应是什么?答:两个类:Circle、CircleTest;主类是CircleTest;源程序文件名是CircleTest。

(2)Circle类定义了几个构造方法(即构造器)Circle类中存在无参构造方法吗?如果要使用无参构造方法,应如何做?答:Circle类定义了个构造方法;不存在,写入Circle(){};(3)CircleTest类中创建了几个Circle对象?这些对象是如何创建的?答:CircleTest类创建了两个Circle对象;Circle对象名=newCircle()。

(4)CircleTest类中如何调用对象的方法?答:CircleTest类调用对象方法:对象名.方法4.写出OverrideTest中所缺的三行代码:publicclass OverrideTest{publicstaticvoid main(String[]args){//使用Box类的无参构造方法创建方法创建对象box1;System.out.println(box1);//使用Box类的带一个参数的构造方法创建对象box2,参数值为5.0;System.out.println(box2);//使用带Box类带三个参数的构造方法创建对象box3,其中三个参数长、宽、高分别为10.1、20.2、30.3 ;System.out.println(box3);}}Boxbox1=new Box()Boxbox2=new Box(5.0);Boxbox3=new Box(10.1,20.2,30.3);5.回答下列问题:(1)this.length=length;中的this代表什么?答:this代表类;(2)this(x,x,x);中的this是什么含义?6.(基础题)一维数组的使用:根据注释填充程序所缺代码,然后编译、运行该程序,并回答相关问题://一维数组:声明,创建,初始化,数组元素的引用及数组拷贝______Stringweek[]__________; //声明一个名为week的String类型的一维数组______week=newstring[7]__________________; //为week数组分配存放7个字符串的空间for(int i=0;i<week.length;i++) //输出week数组各元素的值"week["+i+"]="+____week[i]_________);问题:(1)一维数组如何声明、创建如果没有给数组元素赋值,则它们的取值如何答:a:数据类型[]数组名=new数据类型[数组的长度];b:数据类型数组名[]=new数据类型[数组的长度];如果没有给数组赋值,则系统会自动默认它为0。

(2)数组的静态初始化具有什么功能?答:静态初始化:在定义数组的同时就为数组元素分配空间并赋值。

(3)要了解数组元素的个数,可用访问数组的什么属性得到?答:数组都有一个属性length来指明它的长度,例如:a.length指明数组a的长度(即元素个数)。

(4)怎样引用数组的元素?写出它的下标取值范围。

答:数组名[index]其中:index为数组元素下标,可以是整型常量或整型表达式,如:a[0],b[i],c[5*i],利用循环语句可以批量设置或访问数组元素的值。

数组元素下标从0开始,最大下标为:数组长度-17.(基础题)二维数组的使用:根据注释填充所缺代码,然后编译、运行该程序,并回答相关问题://二维数组:声明,创建,动态初始化,数组元素的引用//声明一个名为myArray的数组,该数组有2行,每行列数不等,并为其分配内存空间_______intmyArray[2][]__________________;myArray[0]=newint[5]; //第一行有5个元素,并为其分配内存空间______myArray[1]=newint[10]__________________; //第二行有10个元素,并为其分配内存空间for(int j=0;j<myArray[0].length;j++) //用1-10之间的随机整数给第一行元素赋值myArray[0][j]=_______(int)(Math.random()*1+9)_______________;for(int j=0;j<______myArray[1].length__________;j++) //用100-200之间的随机整数给第二行元素赋值myArray[1][j]=(int)(Math.random()*100+100);for(int i=0;i<_____myArray[1].length___________;i++){ //输出myArray数组各元素的值for(int j=0;j<myArray[i].length;j++){问题:(1)二维数组如何声明、创建二维数组的列数是否一定要求相同答:数据类型数组名[][]或数据类型[][]数组名;不要求相同。

(2)二维数组如何动态初始化?答:数据类型数组名[][]=new数据类型[第1维大小][第2维大小](3)怎样理解“多维数组是数组的数组”length作用于不同的数组:myArray.length,myArray[0].length,myArray[1].length,结果什么不同(4)怎样引用数组的元素它们下标取值范围怎样8.(提高题)分析、运行下列程序,回答下列问题:(1)实例变量和类变量的含义是什么如何声明它们(2)实例方法和类方法的含义是什么?如何声明它们(3)f()方法中可以访问什么类型的变量和方法(4)g()方法中可以访问x变量吗可以在其中调用f()方法吗(5)在主类中,应如何调用实例方法和类方法?(6)运行程序时,出现如下错误:无法从静态上下文中引用非静态变量mystring请分别用“类变量、类方法”和“实例变量、实例方法”两种完全不同的方法进行修改,使其能正确运行。

9.(提高题)写出程序所缺代码,并回答相关问题package lab3;//导入Student类;publicclass ObjectArrayExample{//声明一个长度为4的对象数组Student1[]student=;public ObjectArrayExample(){//初始化对象数组}void printArrayElement(){int max=0,j=0;int[]sum=newint[4];for(int i=0;i<student.length;i++){//使用循环语句来求每个学生三门课的总分,并赋给sum数组对应元素sum[i]=;}for(int i=0;i<sum.length;i++){if(max<sum[i]){max=sum[i];j=i;}}//输出总分最高的学生的姓名、学号、语文成绩、英语成绩、英语成绩和总分System.out.println("总分最高的学生姓名:"++",学号:"++",语文成绩:"++",英语成绩:"++",数学成绩:"++",总分是:"+max);}publicstaticvoid main(Stringargs[]){ObjectArrayExampleobjarr=new ObjectArrayExample();objarr.printArrayElement();}}问题:(1)如何定义对象数组(2)如何访问对象数组元素的成员变量?(3。

相关文档
最新文档