完整版上机练习1.docx

上传人:b****8 文档编号:11285404 上传时间:2023-02-26 格式:DOCX 页数:7 大小:16.09KB
下载 相关 举报
完整版上机练习1.docx_第1页
第1页 / 共7页
完整版上机练习1.docx_第2页
第2页 / 共7页
完整版上机练习1.docx_第3页
第3页 / 共7页
完整版上机练习1.docx_第4页
第4页 / 共7页
完整版上机练习1.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

完整版上机练习1.docx

《完整版上机练习1.docx》由会员分享,可在线阅读,更多相关《完整版上机练习1.docx(7页珍藏版)》请在冰豆网上搜索。

完整版上机练习1.docx

完整版上机练习1

上机练习1

1题目:

使用简单工厂模式设计一个可以创建不同几何形状(如圆形、方形和三角形等)的绘图工具,每个几何图形都要有绘制draw()和擦除erase(两个方法,

要求在绘制不支持的几何图形时,提示一个UnSupportedException。

importjavax.xml.parsers.*;

importorg.w3c.dom.*;

importorg.xml.sax.SAXException;

importjava.io.*;

publicclassClient

{

publicstaticvoidmain(Stringargs[])

{

try

{

tuxingtx;

Stringshape=XMLUtiltx.getshape();

tx=txFactory.producetx(shape);

tx.draw();

tx.erase();

}

catch(Exceptione)

{

System.out.println(e.getMessage());

}

}

}

classXMLUtiltx

//该方法用于从XML配置文件中提取形状,并返回该形状名称publicstaticStringgetshape()

{

try

{

//创建文档对象

DocumentBuilderFactorydFactory

DocumentBuilderFactory.newInstance();

DocumentBuilderbuilder=dFactory.newDocumentBuilder();

Documentdoc;

doc=builder.parse(newFile("configtx.xml"));

//获取包含图形名称的文本节点

NodeListnl=doc.getElementsByTagName("shape");

NodeclassNode=nl.item(0).getFirstChild();

Stringshape=classNode.getNodeValue().trim();

returnshape;

}

catch(Exceptione)

{

e.printStackTrace();

returnnull;

}

}

}

interfacetuxing

{

publicvoiddraw();

pub-icvoideraseo八

c-ass玄ang-eimp-emenfsfuxing

pub=cvoiddrawo

sys(Dm.ouf.prinf-n(=m#Bam>黑=)八

pub=cvoideraseo

sys(Dm.ouf.prinf-n(=m#BIBm>黑=)八

c-assrecQrng-eimp-emenfsfuxing

 

pub=cvoiddrawo

sys(Dm.ouf.prinf-n(=m#BaH黑=)八

pub=cvoideraseo

sys(Dm.ouf.prinf-n(=m#BIBH黑=)八

c-asscirc-eimp-emenfsfuxing

pub=cvoiddrawo

sysfem.ouf.pr亘wmmBaBI黑)

 

O①-6uq」1m①uu」na)」厂津«11|垂迤=)u_l£」d」no.E2SAS

((7D-6UQ」l=¥seo2ou6-s-enb®ddells)±

UOK①ox山SMO」£ardells6£」ls)xa)onpo」d6uxm。

遍s0一-qnd

AJOloe丄xisseo

厂^lallBwB=)u_c_」cnno.E2SAS

(¥se」①po>0一-qnd

 

i^®菸fl迤酉职Kr^KBLuoK①ox山M①uMo」£

o①o」om①uu」na)」厂i举囤垂迤=)u_l£」d」no.E2SAS

((7Do」o=¥seo2ou6-s-enb®ddells)±①sa)

o①-6U50①」m①uu」na)」厂i津心垂迤=)u_l£」d」no.E2SAS

①SO5

((TDEUsOEJeseoEOUES-enbeddellsM①sa)

 

2题目:

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,用Java语言实现该场景。

现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。

importjavax.xml.parsers.*;

importorg.w3c.dom.*;

importorg.xml.sax.SAXException;

importjava.io.*;

publicclassClient

{

publicstaticvoidmain(Stringargs[])

{

try

{

Peoplep;

Stringsex=XMLUtilpeople.getsex();

p=Nvwa.producepeople(sex);

p.makepeople();

}

catch(Exceptione)

{

System.out.println(e.getMessage());

}

classXMLUtilpeople

{

//该方法用于从XML配置文件中提取性别,并返回该性别

publicstaticStringgetsex()

{

try

{

//创建文档对象

DocumentBuilderFactorydFactory

DocumentBuilderFactory.newInstance();

DocumentBuilderbuilder=dFactory.newDocumentBuilder();

Documentdoc;

doc=builder.parse(newFile("configpeople.xml"));

//获取包含性别的文本节点

NodeListnl=doc.getElementsByTagName("sex");

NodeclassNode=nl.item(0).getFirstChild();

Stringsex=classNode.getNodeValue().trim();

returnsex;

}

catch(Exceptione)

{

e.printStackTrace();

returnnull;

}

}

}

interfacePeople

{

publicvoidmakepeople();

}

classManimplementsPeople

{

publicvoidmakepeople()

{

System.out.println(”女娲造人男");

}

}

classWomanimplementsPeople

{

publicvoidmakepeople()

{

System.out.println(”女娲造人女");

}

}

classRobotimplementsPeople

{

publicvoidmakepeople()

{

System.out.println("女娲造人机器人");

}

}

classNvwa

{

publicstaticPeopleproducepeople(Stringsex)throwsException

{

oueluoMm①uu」na)」

i鏗秋J——-B嫂®^=)u_l£」d」no.E2SAS((-IM=¥seo2ou6-s-enbe.xes)±①sa)

ouel/\lm①uu」na)」

i®球J——-alw^=)u_l£」cnno.E2SAS((=l/\l=¥seo2ou6-s-enbwxes)±

 

厂一®-aYlw^=)uoK①ox山M①uMo」£

①SO5宀

ooqoM黑①uu」na)」

iYst亦J—田妈鏗秋=)u_c_」d.mo.E2SAS

((=M=¥seo2ou6-s-enbe.xes)±①sa)

 

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

当前位置:首页 > 考试认证 > 公务员考试

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

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