类的设计与封装实验报告Word格式文档下载.docx

上传人:b****1 文档编号:13263351 上传时间:2022-10-09 格式:DOCX 页数:13 大小:73.21KB
下载 相关 举报
类的设计与封装实验报告Word格式文档下载.docx_第1页
第1页 / 共13页
类的设计与封装实验报告Word格式文档下载.docx_第2页
第2页 / 共13页
类的设计与封装实验报告Word格式文档下载.docx_第3页
第3页 / 共13页
类的设计与封装实验报告Word格式文档下载.docx_第4页
第4页 / 共13页
类的设计与封装实验报告Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

类的设计与封装实验报告Word格式文档下载.docx

《类的设计与封装实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《类的设计与封装实验报告Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

类的设计与封装实验报告Word格式文档下载.docx

privateintsecond;

Time(){hour=0;

minute=0;

second=0;

}

Time(inth){hour=h;

Time(inth,intm){hour=h;

minute=m;

Time(inth,intm,ints){hour=h;

second=s;

Time(Timetime){

this.hour=time.getHour();

this.minute=time.getMinute();

this.second=time.getSecond();

publicintgetHour(){returnhour;

publicintgetMinute(){returnminute;

publicintgetSecond(){returnsecond;

publicStringtoUniversalString(){

DecimalFormattwoDigits=newDecimalFormat("

00"

);

returntwoDigits.format(getHour())+"

:

"

+

twoDigits.format(getMinute())+"

twoDigits.format(getSecond());

publicStringtoStandardString(){

return((getHour()==12||getHour()==0)?

12:

getHour()%12)+"

+、twoDigits.format(getMinute())+"

+twoDigits.format(getSecond())+(getHour()<

12?

AM"

PM"

(1)Time类共有几个构造器(即构造方法),作用有什么不同?

5种

无参数构造,初始化hour,minute,second;

定义参数h,将其赋值给hour;

定义参数h和m,将其赋值给hour,minute;

定义参数h,m和s,将其赋值给hour,minute,second;

(2)getTime(),getMinute(),getSecond()方法的作用是什么?

如果去掉这些方法,程序可以完成同样的功能吗?

如何修改?

以实例的方法,在Time(Timetime)为hour,minute,second赋值,

去掉后改为Time(Timetime){

this.hour=hour;

this.minute=minute;

this.second=second;

(3)如果以下代码段出现在Time类的测试程序的main方法中,输出结果是什么?

Timet1=newTime(5);

System.out.println("

Thetimeis"

+t1.toStandardString());

输出“The 

time 

is 

4AM”

(4)如果以下代码段出现在Time类的测试程序的main方法中,输出结果是什么?

Timet2=newTime(13,59,60);

Thetimeis"

+t2.toStandardString());

1:

59:

60PM”

(5)如果以下代码段出现在Time类的测试程序的main方法中,输出结果是什么?

Timet3=newTime(13,30,0);

Timet4=newTime(t3);

+t4.toUniversalString());

“The 

30:

00PM”

2.确定以下代码段中是否存在错误,如果有错误,指出是逻辑错误还是语法错误,请在程序中用“~~~~~”标出错误的地方,并在第个练习的空白处写下正确的代码。

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

注意:

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

(1)以下代码定义了Product类,它有一个不带参数的构造器,将产品的名称设置为一个空的String,将price设置为0.00;

该类还有一个toProductString方法,它返回一个包含产品的name和price的String

importjava.text.*;

publicclassProduct{

privateStringname;

privatedoubleprice;

privatestaticDecimalFormatmoney=newDecimalFormat("

$0.00"

publicProduct(){

name="

"

;

price=0.00;

publicStringtoProductString(){

returnname+"

costs"

+money.format(price);

}//endclassProduct

答案:

没有错误。

(2)如下代码定义了Product类的另一个构造器,它有2个参数,并将这些参数赋给相应的实例变量

publicProduct(Stringname,doubleprice){

name=name;

price=price;

this.name=name;

this.price=price;

(3)如下代码定义了两个set方法,用于设置Product类的name和price

publicsetName(){

this.name=name;

publicsetPrice(){

this.price=price;

publicStringsetName(){

returnname;

publicdoublesetPrice(){

returnprice;

(4)如下代码位于测试Product类的应用程序的main方法中,创建一个Product对象,并显示一个包含对象的实例变量值的String

Productp1=newProduct("

Milk"

5.5);

System.out.println(p1.name+"

+p1.price);

(5)如下代码位于测试Product类的应用程序的main方法中,创建一个Product对象,设置其实例变量的值,并显示一个包含实例变量值的String

Productp1=newProduct();

p1.setName();

p1.setPrice();

System.out.println(p1.toProductString("

Eggs"

3));

3.补充以下代码,完成对一个分数类Fraction的定义,并测试这个类

publicclassFraction{

privateintnume;

//分子

privateintdeno;

//分母

//无参构造器

publicFraction(){

this.nume=0;

this.deno=1;

//初始化实例变量

//有参构造器

publicFraction(intn,intd){

//化简分数方法

voidFracSimp()

{

//求分数的分子和分母的最大公约数

//化简分数

/*欧几里德算法定理:

gcd(a,b)=gcd(b,amodb),以下是c语言的代码,可以参考

 

voidswap(int&

a,int&

b) 

intc=a;

 

a=b;

 

b=c;

}

intgcd(inta,intb) 

{

if(0==a) 

returnb;

if(0==b) 

returna;

if(a>

swap(a,b);

intc;

for(c=a%b;

c>

c=a%b) 

a=b;

}*/

//分数输出方法

voidFracOutput(){

publicstaticvoidmain(Stringargs[]){

4.构造一个Rectangle类(矩形类),它有两个浮点型属性length(长)和width(宽)。

该类具有两个构造函数(无参和有参),perimeter()和area()方法分别返回矩形的周长和面积,编写相应的main方法测试Rectangle类。

程序结构如下:

publicclassRectangel{

//实例变量的声明

//构造器的定义

//perimeter方法定义

//area方法定义

publicstaticvoidmain(String[]args){

//定义Rectangle类的对象引用r

//调用perimeter方法,并显示周长

//调用area方法,并显示面积

5.设计一个学生类Student,程序框架如下:

publicclassStudent{

//设计一个类变量(静态变量)记录学生人数

private

//设计基本属性有“学号”、“班号”、“姓名”、“性别”、“年龄”、“成绩”(用数组表示6门课的成绩)

//设计构造器,传递学

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1