JAVA实验5Word格式文档下载.docx
- 文档编号:21736185
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:19
- 大小:22.71KB
JAVA实验5Word格式文档下载.docx
《JAVA实验5Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA实验5Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
(MyDate的日期toString用标准格式)
4、有来自4类(鸟类、昆虫类、爬行类和鱼类)的100个动物聚在一起开会,商议和另一个动物部落打仗事宜,会议要求每个动物都要报告自己所属的动物类别和自己的天赋,以便选拔人才、组织兵力迎战。
设计:
用Animal作为基类,鸟类、昆虫类、爬行类和鱼类各作为Animal的子类设计类层次结构,设计时运用继承、重写并设计多态机制,同时对每个子类至少要添加一个其描述的动物特有的行为和一个特有的属性,以更准确地描述子类对象。
使用:
用循环随机生成这100个动物装入动物数组,要对每个动物进行编号和随机命名,用循环让每个参会的动物报告自己的类别和天赋。
Animal内容如下:
ClassAnimal
{
publicintid;
//编号
publicStringname;
//名字
//publicStringtype;
//类别:
鸟类、昆虫类、爬行类和鱼类之一
publicvoidshowType()//在console上秀自己的类别
{
System.out.println(“MyIDis“+id+”andIamjustananimal,mytypeisgoingtobedeterminedlater.”);
}
publicvoidshowTalent()//在console上秀自己的天赋特长
System.out.println(“Idon’tknowwhatIamtalentedat.”);
(请认真观察和体会Java的继承和多态)
四、实验结果与数据处理
第一题:
publicclassJudge{
publicstaticvoidmain(String[]args)
{
System.out.println(Polymorphism.getType(1+2+3));
System.out.println(Polymorphism.getType(1234589001l*123456789));
System.out.println(Polymorphism.getType(1/3.0));
System.out.println(Polymorphism.getType(123.456f*123));
System.out.println(Polymorphism.getType('
A'
));
}
classPolymorphism
{
privatefinalstaticStringINT_TYPE="
int"
;
privatefinalstaticStringLONG_TYPE="
long"
privatefinalstaticStringDOUBLE_TYPE="
double"
privatefinalstaticStringFLOAT_TYPE="
float"
privatefinalstaticStringCHAR_TYPE="
char"
privatefinalstaticStringBYTE_TYPE="
byte"
privatefinalstaticStringSHORT_TYPE="
short"
privatefinalstaticStringBOOLAEN_TYPE="
boolean"
publicstaticStringgetType(inti){
returnINT_TYPE;
publicstaticStringgetType(longl){
returnLONG_TYPE;
publicstaticStringgetType(doubled){
returnDOUBLE_TYPE;
publicstaticStringgetType(floatf){
returnFLOAT_TYPE;
publicstaticStringgetType(charc){
returnCHAR_TYPE;
publicstaticStringgetType(byteby){
returnBYTE_TYPE;
publicstaticStringgetType(shorts){
returnSHORT_TYPE;
publicstaticStringgetType(booleanbo){
returnBOOLAEN_TYPE;
publicstaticStringgetType(Objectobj){
returnobj!
=null?
obj.toString().split("
@"
)[0]:
null;
第二、三题:
publicclassmyLinkNode{
int100();
englishString100();
LinkNodeaLong=newLinkNode(123456789l);
LinkNodeaDouble=newLinkNode(123.456);
LinkNodeaStringBuffer=newLinkNode("
abcde"
);
LinkNodeaDate=newLinkNode("
2011-11-1112:
13:
24"
System.out.println(aLong.toString());
System.out.println(aDouble.toString());
System.out.println(aStringBuffer.toString());
System.out.println(aDate.toString());
LinkNodeSanotherLong=newLinkNodeS(123456789l);
LinkNodeSanotherDouble=newLinkNodeS(123.456);
LinkNodeSanotherStringBuffer=newLinkNodeS("
LinkNodeSanotherDate=newLinkNodeS("
System.out.println(anotherLong.toString());
System.out.println(anotherDouble.toString());
System.out.println(anotherStringBuffer.toString());
System.out.println(anotherDate.toString());
}
staticvoidint100()
LinkNodetheFirst=newLinkNode(-1);
LinkNodeaPointer=theFirst;
LinkNodetheEnd=newLinkNode(1000);
aPointer.nextNode=theEnd;
for(inti=0;
i<
100;
i++)
aPointer=theFirst;
LinkNodeaNode=newLinkNode((int)(Math.random()*1000));
while((Integer)aNode.value>
(Integer)aPointer.nextNode.value)
{
aPointer=aPointer.nextNode;
}
aNode.nextNode=aPointer.nextNode;
aPointer.nextNode=aNode;
}
aPointer=theFirst;
aPointer=aPointer.nextNode;
aPointer.display();
staticvoidenglishString100()
LinkNodetheFirst=newLinkNode("
aaaaaa"
LinkNodetheEnd=newLinkNode("
zzzzzz"
intintCharCode;
StringBufferaString=newStringBuffer();
aString.setLength(0);
for(intj=0;
j<
6;
j++)
intCharCode=0;
while(!
(intCharCode>
=65&
&
intCharCode<
=90||intCharCode>
=97&
=122))
intCharCode=65+(int)(Math.random()*58);
aString.append((char)intCharCode);
LinkNodeaNode=newLinkNode(aString);
while(((String)aNode.value.toString()).compareTo((String)aPointer.nextNode.value.toString())>
0)
classLinkNode
publicObjectvalue;
publicLinkNodenextNode;
publicLinkNode(Objectobj)
value=obj;
publicvoiddisplay()
System.out.println(this.value);
classLinkNodeSextendsLinkNode
publicLinkNodeS(Objectobj)
super(obj);
publicStringtoString()
StringaString;
aString="
"
+value;
returnaString;
第四题:
publicclassAnimals{
/**
*@paramargs
*/
StringBuffer[]names;
names=newStringBuffer[100];
StringBufferaName=newStringBuffer();
for(inti=0;
i<
100;
i++)
aName.setLength(0);
aName.append((char)intCharCode);
names[i]=newStringBuffer(aName);
Animal[]animals=newAnimal[100];
intaNum,flag;
aNum=30+(int)(Math.random()*70);
flag=(int)(Math.random()*4);
if(flag==0)
animals[i]=newBird(i+1,names[i],"
bird"
"
flying"
aNum);
elseif(flag==1)
animals[i]=newInsect(i+1,names[i],"
insect"
jumping"
elseif(flag==2)
animals[i]=newReptilia(i+1,names[i],"
reptilia"
creeping"
else
animals[i]=newFish(i+1,names[i],"
fish"
swimming"
animals[i].showType();
animals[i].showTalent();
if(animals[i]instanceofBird)
BirdaBird=(Bird)animals[i];
aBird.showMyFly();
elseif(animals[i]instanceofInsect)
InsectanInsect=(Insect)animals[i];
anInsect.showMyJump();
elseif(animals[i]instanceofReptilia)
ReptiliaaReptilia=(Reptilia)animals[i];
aReptilia.showMyCreep();
FishaFish=(Fish)animals[i];
aFish.showMySwim();
}
classAnimal
publicStringBuffername;
publicStringtype;
publicStringtalent;
System.out.print("
MyIDis"
+id+"
andmynameis"
+name+"
."
+"
Iamjusta"
+type+"
Iamtalentedat"
+talent+"
classBirdextendsAnimal
publicintflySpeed;
publicBird(intid,StringBuffername,Stringtype,Stringtalent,intflySpeed)
this.id=id;
this.name=name;
this.type=type;
this.talent=talent;
this.flySpeed=flySpeed;
publicvoidshowMyFly()
System.out.println("
AndIcanfly"
+flySpeed+"
kilometresperhour."
classInsectextendsAnimal
publicintjumpHeight;
publicInsect(intid,StringBuffername,Stringtype,Stringtalent,intjumpHeight)
this.jumpHeight=jumpHeight;
publicvoidshowMyJump()
AndIcanjump"
+jumpHeight+"
cmhigh."
classReptiliaextendsAnimal
publicintcreepSpeed;
publicReptilia(intid,StringBuffername,Stringtype,Stringtalent,intcreepSpeed)
this.creepSpeed=creepSpeed;
publicvoidshowMyCreep()
AndIcancreep"
+creepSpeed+"
classFishextendsAnimal
publicintswimSpeed;
publicFish(intid,StringBuffername,Stringtype,Stringtalent,intswimSpeed)
this.swimSpeed=swimSpeed;
publicvoidshowMySwim()
AndIcanswim"
+swimSpeed+"
运行结果:
int
long
double
float
char
13147983959698100104106108112122127134154158187204211216278306336344344357378383384386388388391392412423426433443447448455462476478486488489492495498504509510531564572603603617623627631635643663691705707713722727733742743765787788803804807820820841844848861873884892921939940956964975976981999AboRZxBOUbzDCNmcRPCyMBvZDLEEnZEvYVhtGZmNMRGkgeixGywnwyHCAOeZHqhBZVHvYloUJrhiVWKPuJZOKhxymcMtTpUANeNwKYNkzzeWNxJrgXNysQcYPFCIwCPJrTFMPdMuwAQOsODBQTbWYGQzalAsQzjtPiRpguMHSbJaaWSeGRLjShCOsbTIUJUWTWvtTkTaHoZvUUpqIPUmjNoDVZ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验