实验三 类与对象

实验三   类与对象
实验三   类与对象

C++语言程序设计实验答案_类与对象

实验04 类与对象(6学时) (第4章类与对象) 一、实验目的 二、实验任务 4_1 声明一个CPU类。 包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 }; frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 4_2 声明一个简单的Computer类。 有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。 4_3 声明一个表示时间的结构体。 可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

4_4(习题4-10)设计一个用于人事管理的People(人员)类。 考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号),sex(性别)、birthday(出生日期)、id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现人员信息的录入和显示。要求包括:构造函数和析构函数、内联成员函数、组合。 三、实验步骤 1.(验证)声明一个CPU类,观察构造函数和析构函数的调用顺序。 首先声明枚举类型CPU_Rank,例如enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 },再声明CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,声明成员函数run和stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示顺序。在主程序中声明一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:。(程序见步骤2) ★程序的运行结果: 2.(示例)调试程序文件。 使用调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: 操作)调试操作步骤如下: (1)单击“调试 | 逐语句”命令,系统进行单步执行状态,程序开始运行,一个DOS 窗口出现,此时Visual Studio中光标停在main()函数的入口处。

C++实验二类与对象(附答案)

实验二类与对象 实验目的和要求 1.掌握类、类的数据成员、类的成员函数的定义方式。 2.理解类成员的访问控制方式。 3.掌握对象的定义和操作对象的方法。 4.理解构造函数和析构函数的定义与执行过程。 5.掌握重载构造函数的方法。 6.了解拷贝构造函数的定义方法。 实验容 1.下面程序中有错,在不删除和增加代码行的情况下,改正错误语句,使其正确运行。#include class Aa { public: Aa(int i=0) { a=i; cout<<"Constructor "<

(1) #include class Date { void set_date(); void show_date(); int year; int month; int day; }; Date d; int main() { set_date(); show_date(); } void set_date() { cin>>d.year; cin>>d.month; cin>>d.day; } void show_date() { cout< class A { public: void A(int i=0) { m=i; } void show() { cout<

作业实验类和对象基础

类和对象基础 一、选择题 1、下列哪一个不属于JAVA语言的数据类型 A)指针类型 B)类 C)数组 D)浮点类型 答案:A 2、声明类的关链字是 A)Class B)class C)void D)main

3、不属于java类中的变量的是 A)实例成员变量 B)类成员变量 C)局部变量 D)寄存器变量 答案: D 4、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或 顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为 A)隐藏 B)覆盖 C)重载 D)Java不支持此特性

5、不使用static修饰符限定的方法称为实例成员方法,下列哪一个说法是不正确的A)成员方法可以直接调用父类的成员方法 B)成员方法可以直接调用父类的类方法 C)成员方法不可以直接调用其他类的成员方法 D)成员方法可以直接调用本类的类方法 答案: 6、函数重载是指 A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可 以不同 C)两个以上的函数名字不同,但形参的个数或类型相同 D)两个以上的函数取相同的函数名,并且函数的返回类型相同

7、下述哪个说法是不正确的 A)局部变量在使用之前无需初始化,因为有该变量类型的默认值B)类成员变量由系统自动进行初始化,也无需初始化 C)参数的作用域就是所在的方法 D)for语句中定义的变量,当for语句执行完时,该变量就消亡了答案:A 8、下列代码的执行结果是: public class Test6{ public static void main(String args[]){ int a=4,b=6,c=8; String s="abc"; } }

实验3 类和对象

实验3 类和对象 一、实验目的 1、掌握Java语言面向对象的程序设计方法; 2、理解对象的封装概念; 3、掌握Java的类和对象的声明和使用方法 二、实验环境 1、PC微机; 2、DOS操作系统或Windows 操作系统; 3、Java sdk程序开发环境、eclipse集成环境。 三、实验内容 1. 银行账户管理 编写一个Account类模拟账户,该类包含成员变量和成员方法见下面的UML图。编写程序测试Account类:创建一个对象,其账号为123456、余额10000元、年利率3.3%。使用withdraw 方法从该账户提款2000元,使用deposit方法往该账户存款3000元,并打印余额、月利息以及账户的开户日期。 public class bank { public static void main(String[] args) { Accout test1=new Accout(123456,10000,0.033); test1.withdraw(2000);

test1.deposit(3000); System.out.println("id: "+test1.getId()); System.out.println("balance: "+test1.getBalance()); System.out.println("monthlyinterest: "+test1.getMonthlyInterest()); System.out.println("datecreated: "+test1.getDateCreated()); } } class Accout{ private int id; private double balance; private double annualInterestRate; private java.util.Date dateCreated; public Accout() { id=0; balance=0; annualInterestRate=0; dateCreated=new java.util.Date(); } public void deposit(int i) { // TODO自动生成的方法存根 } public Accout(int newid,double newbalance,double newannualInterestRate) { id=newid; balance=newbalance; annualInterestRate=newannualInterestRate; dateCreated=new java.util.Date(); } public int getId() { return id; } public double getBalance() { return balance; } public double getannualInterestRate() { return annualInterestRate; } public void setId(int newid) { id=newid; } public void setBalance(double newbalance) { balance=newbalance; }

实验3 类与对象

实验3 类与对象 一、实验目的 本实验的目的用于指导读者掌握Java语言面向对象的程序设计方法,理解对象的封装等概念,要求读者在调试实例程序后,总结出面向对象的事务定义以及以对象的形式进行封装等内容。 二、实验内容 1、课本P221,8-6 和课本P237,8.1题 2、编写一个名为“复数”的类,包含复数的实部和虚部(数据成员),以及复数之间的基本算术运算:加、减(方法成员),并要求复数加减运算,程序运行中能对给定的复数进行运算,并打印运算的结果。 3、用类来描述游戏角色的交手次数、经验值、生命值之间的关系,并断定角色决斗的胜负。 三、实验要求 1、加减运算能够接收不同类型的参数既可以实现复数与实数的加减、复数与复数的加减运算。 2、两游戏角色决斗。角色1交手次数+1,生命值-1,经验值+2;角色2交手次数+1,生命值-2,经验值+3。经验值每增加50时,生命值+1;生命值<0判为负。生命值初始为1000,经验值初始为0。 3、给定二个不同的角色,判定交手的胜负关系。 4、实验报告给出决斗结果和交手次数 5、实验报告给出所有源代码。 四、实验环境 1、PC微机; 2、DOS操作系统或 Windows 操作系统; 3、Eclipse程序集成环境。 五、实验步骤 内容一: 1、创建“复数”类Complex,定义实部、虚部成员 2、定义构造函数接收二个double参数用来初始化数据成员

3、定义二个复数运算函数plus()以及minus()各接收一个复数类型以实现复数与复数的加减运算。 4、定义二个复数运算函数plus()以及minus()各接收一个double类型以实现复数与与实数的加减运算。 4、定义一个打印方法。 5、在main()方法中创建复数对象并调用相关方法来验证。 内容二: 1、建立角色类Role,给出相应的成员,并能以生命值、经验值初始化角色对象。 2、在角色类中建立fight方法,接收一个角色类型的参数并与之“战斗”,返回胜者信息。 3、在主函数中初始化二个角色,调用fight方法。 六、测试数据 略 七、实验报告(学生完成) 实验报告应包括以下几个部分: 1、程序流程图; 2、程序的数据结构设计; 3、程序的源代码及相关注释 4、程序运行结果的分析。 八、思考题(学生完成) 1.定义一个点类“Point”。Point 类的属性有x 轴和y 轴坐标,可以通过方法setX()设置x轴坐标,方法setY()设置y 轴坐标,方法getX()获得x 轴坐标,方法getY()获得y 轴坐标。编写一个测试类PointTest 来创建Point 类的对象,测试该类。 2.编程定义一个栈类,它封装了栈数组,判断栈空方法、判断栈满方法以及进栈和出栈。

实验三:类与对象(bo)

实验三 Java类与对象 【实验目的】 1) 理解面向过程与面向对象区别 2) 理解面向对象的三大特征 3) 掌握类声明的方法 4) 掌握构造方法 5) 掌握对象的创建方法与创建机制 6) 掌握成员变量、类变量和局部变量区别 7) 掌握成员方法与类方法区别 8) 掌握函数的重载 9) 掌握4种访问修饰符的区别 【实验环境】 JDK1.6+Eclpise3.2 【实验准备】 1)复习课件中理论知识 2)练习课堂所讲的例子 【实验内容】 1、创建猴子类。具体要求如下: 1)编写一个类Monkey,用来表示猴子类; 2)给Monkey类确定添加4个属性:3个实例成员变量(名字、体重、年龄)、1个静态成员变量(爱好:默认值为:吃香蕉); 3)添加默认构造方法和有参构造方法(3个参数,分别给名字、体重和年龄赋初始值) 4)编写展示猴子能够爬树(climbTree)的方法――提供两个参数传入:分别代码猴子的名字(name)和爬树的高度(height)(方法内只需打印猴子的”名字+会爬树,能爬+高度”) 5)测试:在main方法中创建两个猴子对象monkey1(皮蛋、50、3)和monkey2(兰兰、45、2),monkey1使用默认构造方法创建,monkey2使用有参构造方法创建。分别打印出

monkey1和monkey2的名字、体重、年龄和爱好。并调用monkey1和monkey2的爬树方法。 2、创建矩形Rectangle类。具体要求如下: 1)创建一个Rectangle类; 2)创建属性:两个double成员变量:width和height。 3)创建方法:计算矩形的周长getLength()和面积getArea()。 4)测试:创建Rectangle对象,并给两个成员变量赋值,调用周长和面积的方法,输出周长和面积。 【实验过程及结果】 实验代码及结果: 1. package arp; public class Monkey {//创建类 // 4个属性(成员变量) private String name; private int weight; private int age; private static String love="吃香蕉"; public Monkey(){ } //有参构造方法 public Monkey(String name,int weight,int age) { https://www.360docs.net/doc/2f4505683.html,=name; this.weight=weight; this.age=age; } //爬树 public void climbTree(String name,int height){ System.out.println(name+"会爬树,能爬"+height+"米"); } //测试 public static void main(String [] args){ Monkey monkey2=new Monkey(); https://www.360docs.net/doc/2f4505683.html,="猪猪"; monkey2.weight=50;

实验二 类与对象

实验二类与对象(2) 一、实验目的 1、掌握类的定义和使用。 2、掌握类声明和类体。 3、掌握成员变量和局部变量的区别和使用方法。 4、多维数组的使用。 二、实验设备 1、硬件:PC机。 2、软件:DOS运行环境、EditPlus编辑软件。 三、实验预习要求 1、阅读3.2节类的定义和使用。 2、阅读3.2.2 成员变量和局部变量的区别的使用方法。 3、预习程序【例3-1】【例3-2】 4、多维数组的使用。熟悉程序【例2-32】 四、实验内容和步骤 1、展示简单数据类型与引用数据的区别 import java.io.*; public class PassTest { float ptValue; public void changeInt(int value) { value = 55; // 在方法内部对值参数进行了修改 } public void changeObjValue(PassTest ref) { ref.ptValue = 99f; // 在方法内部对引用参数进行了修改 } public static void main(String args[]) { int val; PassTest pt = new PassTest(); val = 11; System.out.println("初始的整型值是: " + val); pt.changeInt(val); // 值参数 System.out.println("改变后整型值是: " + val); // 值参数值的修改,没有影响值参数的值 pt.ptValue = 101f; System.out.println("初始的整型值是: " + pt.ptValue); pt.changeObjValue(pt); // 引用类型的参数 System.out.println("改变后整型值是: " + pt.ptValue); // 引用参数值的修改,改变了引用参数的值 } } 2、展示局部变量和类成员变量作用域 class Variable { int x = 0, y = 0, z = 0; //类的成员变量

实验5 类和对象(二)

实验5 类和对象(二) 实验目的: 1.进一步理解类和对象的概念; 2.进一步理解类的成员的访问控制的含义,公有和私有成员的区别; 3.掌握构造函数和析构函数的含义与作用、定义方式和实现; 4.能够根据给定的要求定义类并实现类的成员函数; 5.了解C++面向对象程序设计的基本思想、基本方法和基本步骤; 6.掌握MS Visual C++6.0调试C++程序的基本方法、基本步骤。 实验内容: 一、基础题: 1、输入下列程序,按要求进行实验,并记录实验的结果。 #include using namespace std; class Coordinate { public: Coordinate(int x1, int y1){x=x1; y=y1;} Coordinate(Coordinate &p); ~Coordinate(){cout<<"Destructor is called."<

cout<<"Copy initianization constructor is called."< class Date{ public: void printDate(); //显示日期 void setDay(int); //设置日的值 void setMonth(int); //设置月的值 void setYear(int); //设置年的值

实验4 类和对象(三)

实验4 类和对象(三) 实验时间:2012年10月11日,星期四,3、4节 地点:5428 实验目的 (1)进一步加深对类和对象的理解 (2)掌握类的构造函数和析构函数的概念和使用方法(3)掌握对象数组、对象指针及其使用方法 (4)掌握友元概念和使用。 (5)了解模板的使用方法 主要仪器设备 电脑一台,安装Visual C++ 6.0 实验内容 有以下程序: #include using namespace std; class Date; class Time {public: Time(int,int,int); void display(const Date&); private: int hour; int minute; int sec; }; class Date {public:

Date(int,int,int); friend void Time::display(const Date &); private: int month; int day; int year; }; Time::Time(int h,int m,int s) {hour=h; minute=m; sec=s; } void Time::display(const Date &da) {cout< using namespace std; class Date; class Time {public:

实验三 类与对象(一)

实验三类与对象(一) 一、【实验目的】 1、掌握类和对象的定义,并能通过对象调用成员函数完成简单的程序设计 2、初步掌握用类和对象编制基于对象的程序。 二、【实验要求】 1.硬件基本配置:Intel PentiumIII以上级别的CPU,大于64MB的内存。 2.软件要求:Window 2000操作系统,Visual Studio 6.0或更高版本开发环境。 3.实验学时:2学时 4.实现实验内容中的题目。 5.写实验报告 三【实验内容】 1.1 一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏。栅栏造价为$35/m,过道造价为$20/m2。过道宽度为3m,现在给出游泳池半径要求编程计算并栅栏和过道的造价。(圆周率PI定义为3.14159);另外,对于题目中涉及的“圆”,请使用“类”实现,现规定如下: { public: double Set(double s);// Circle(double s); double Circumference( ) const; double Area( ) const; private: double r;

}; 【输入】 输入由键盘输入,共1行,这一行有一个实数r,代表给定的游泳池半径。 【输出】 输出共2行 cout << "Fencing(栅栏)Cost is $" << FenceCost << endl; cout << "Concrete (过道)Cost is $" << ConcreteCost << endl; 【样例输入】 5 【样例输出】 Fencing Cost is $1759.29 Concrete Cost is $2450.44 1.2设计一个做加减乘除基本运算的类,实现在主函数中输入要计算的两个数,通过菜单的形式选择做加减乘除运算后,计算输出相应的计算结果。 1.3 设计str类,实现对字符串的初始化(Init()),拷贝(copy()),输出(output()),在主函数中进行测试并输出。 class S{public : char *strp; int length; void Ini(char *s); void Print(void); void Copy(S &s);

实验03 类、对象基础知识

实验三类、对象基础知识 一、实验目的 1、熟练掌握类、对象的的概念以及对事物的抽象。 2、熟练掌握成员、方法的概念以及构造方法的概念。 3、熟练掌握封装性,多态性的概念 4、理解面向对象的程序设计方法。 二、实验内容与要求 1运行下面的程序,理解面向对象的程序设计方法的基本概念。 class value { public int x,y; public value(int a,int b) { x=a; y=b; } } public class Ch31 { public static void main(String args[]) { int total; value num=new value(24,65); total=num.x+num.y; System.out.println("add="+total); } } 2、定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”,。定义主类,创建帐户类的对象,并完成相应操作。提示:关键代码如下: public int getleftmoney(){ return leftmoney; } public void savemoney(double money){ leftmoney+=money; } public void getmoney(double money){ if(money<=leftmoney) leftmoney-=money; else System.out.println("只能取:"+leftmoney); } … bankaccount ba=new bankaccount(888123,1000); ba.savemoney(21000);

Java实验报告三类和对象

计算机与信息学院实验报告 实验(三)类和对象 一、实验目的和要求 1.掌握类的构造函数的重载 2.深入理解类和对象 3.学习NetBeans中UML项目的创建类并生成相应代码的方法 二、实验内容和原理 设计一个复数类,能够完成复数之间的基本运算,重写方法toString(),使其能输出此复数(形式为:实部 + 虚部i)。 要求设计的复数类必须有三个构造函数,分别为无参数、1个参数和2个参数的构造函数,完成的基本运算包括两个复数的加、减、乘、除法和共轭复数。 三、实验环境 1.硬件环境: 2.软件环境:JDK1.5 四、算法描述及实验步骤 1.算法描述(可以用类图、流程图、伪代码或源程序描述) 2.实验步骤 ●创建一个UML项目,并设计类Complex如下图 ●创建一个Java应用项目 ●把UML项目中的Complex自动生成代码到Java应用项目中 ●实现Complex类中的方法 ●进行编译 ●进行测试,使用的测试用例: 输入:预期输出: … 五、调试过程 1.编译过程

记录算法实现中发现的语法错误及改正 以下代码不能实现预期的结果: 应该改成如下代码: 2.调试过程 记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出,并与预期输出进行比较,如果不同,分析产生错误的原因并改正。 输入: 预期输出: 实际输出: 分析 与预期结果一致。 六、实验结果 用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。 第一组输入: 第二组输入: 第一组输出结果: 第二组输出结果: 结果分析: 两组的输出结果都正确。 七、总结 不应该一开始就考虑怎么编写代码,而是应该想好其框架。注意语法上的错误,而逻辑上的错误在改正上有很大的难度,在这方面要多加交流。 附录: import javax.swing.*; public class Complex { private double realPart; private double imaginaryPart; public Complex(){ realPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the realpart:")); imaginaryPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the imaginarypart:")); } public Complex(double realPart){ this.realPart = realPart; this.imaginaryPart = 0;

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

实验报告实验类与对象标准化管理部编码-[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中所缺的三行代码:

实验报告_实验3 类与对象

实验报告_实验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);

实验三 类与对象

实验三类与对象 一、实验目的及要求 目的: 理解Java语言是如何体现面向对象编程基本思想,掌握类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性。 要求: (1)编写一个用双重循环控制输出格式的程序 (2)编写一个字符串操作程序 (3)编写一个带随机数及键盘输入的程序 (4)编写编写一个创建对象和使用对象的方法的程序 二、实验环境 计算机一台,NetBeans 三、实验原理 Java语言面向对象程序设计方面的基础知识 四、实验内容与步骤 1. 编写一个程序,显示如图所示的一个数字金字塔,要求用双重循环实现。 1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 12345678987654321 2. 用冒泡排序对数组a={23,4,32,67,42,42,41,32,15}进行从小到大排序。 3. 若一个字符串正读和反读都一样,如level、noon等,就称之为回文。编写一个程序, 验证输入的字符串是否为回文串。

4.用Java编写一个彩票中奖模拟程序,实现下述功能:用户键入1~100的一个整数。然后程序随机产生1~100的3个不相同的数字,分别代表一等奖、二等奖和三等奖的获奖号码。最后进行比较,并输出用户是否中奖的信息。 5. 方法声明

五、思考题 1.编写一个Java程序,将my age is 23 years中的23提取出来,通过下述程序理解String 与StringBuffer类的区别与联系,并查询API了解StringBuffer类的常用方法。 import https://www.360docs.net/doc/2f4505683.html,ng.*; public class Digester { public static void main(String args[]) { StringBuffer sb1=new StringBuffer("my age is 23 years"); StringBuffer sb2=new StringBuffer(); int i, result=0; char ch; for(i=0;i=’0’)&&(ch<=’9’)) { sb2.append(ch); } } if(sb2.length()>0)

实验3 类与对象基础实验(一)

实验3 类与对象基础实验(一) 一、实验目的 1. 掌握对象与类的关系 2. 掌握类的域、方法、构造器的概念 3. 掌握对象的创建与初始化 4. 掌握方法和域(静态和非静态)的使用方式 5. 掌握Math类,掌握静态成员的使用方式 6. 理解方法和构造器重载现象 二、实验内容 1. 程序阅读并回答问题 2. 类的使用 3. 编程实验:猜数字 4. 编程实验:素数判断与统计 三、实验步骤 1. 程序阅读并回答问题:阅读以下代码,回答问题。 //AreaAndLength.java class Triangle { double sideA,sideB,sideC,area,length; boolean boo; Triangle(){}; public Triangle(double a,double b,double c){ sideA=a; sideB=b; sideC=c; if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sideA) { boo=true; } else { boo=false; } } double getLength(){ length=sideA+sideB+sideC; return 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){ sideA=a; sideB=b; sideC=c; if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sideA) { boo=true; } else { boo=false; } } } class Lader { double above,bottom,height,area; Lader(double a,double b,double h){ above=a; bottom=b; height=h; } double getArea(){ area=(above+bottom)*height/2; return area; } } class Circle { double radius,area,length; Circle(double r){ radius=r; } double getArea(){ area=Math.PI*radius*radius; return area;

实验三 类和对象(一)

课程名称:面向对象程序设计实验内容:实验三类和对象(一) 学院:专业班级: 姓名:学号:指导教师: 实验日期:实验地点: 一、实验目的 1、掌握类、类的数据成员、类的成员函数的定义方式。 2、理解类成员的访问控制方式。 3、理解构造函数和析构函数的定义与执行过程。 4、掌握重载构造函数的方法。 5、了解拷贝构造函数的方法。 二、实验步骤 1、定义一个描述学生基本情况的类,数据成员包括姓名、学号、C++、英语、 和数学成绩,成员函数包括输出数据、设置姓名和学号、设置三门课的成绩、求总成绩和平均成绩。最后,在主函数实现。 程序如下: #include using namespace std; class student { private: char name[10]; int number; float s1,s2,s3; public: void print() { cout<<"姓名:"<>name; cout<<"学号:"; cin>>number;

cout<<" C++成绩:"; cin>>s1; cout<<"英语成绩:"; cin>>s2; cout<<"数学成绩:"; cin>>s3; } float sum() { return s1+s2+s3; } float aver() { return sum()/3.0; } }; void main() { student s1; s1.set1(); s1.print(); cout<<" 总成绩:"<

相关主题
相关文档
最新文档