2019年做网站还有机会吗,wordpress蜘蛛记录插件,泰安市网站建设公司,江苏靖江苏源建设有限公司招标网站1.机器人设计
设计一种机器人#xff0c;可以移动#xff0c;变形。机器人有控制芯片#xff0c;可以更换#xff0c;并且根据机器人内部的芯片#xff0c;更改行为方式#xff0c;比如移动方式有步行#xff0c;跑步等#xff0c;变形可以变成汽车#xff0c;飞机等…1.机器人设计
设计一种机器人可以移动变形。机器人有控制芯片可以更换并且根据机器人内部的芯片更改行为方式比如移动方式有步行跑步等变形可以变成汽车飞机等。
要求
1、给出面向对象的设计类图
2、给出Java代码实现。
interface ControlChip{void move(); //控制芯片接口void transform();
}
class Robot{//机器人类ControlChip controlChip;public Robot(ControlChip controlChip){this.controlChipcontrolChip; //构造方法}public void move(){controlChip.move(); //控制芯片对应的移动方法}public void transform(){controlChip.transform();}
}
class WalkControlChip implements ControlChip{//步行芯片Overridepublic void move() {System.out.println(步行。。。);}Overridepublic void transform() {System.out.println(变形);}
}
class RunningControlChip implements ControlChip{//跑步芯片Overridepublic void move() {System.out.println(跑步。。。);}Overridepublic void transform() {System.out.println(变形);}
}
class CarControlChip implements ControlChip{//汽车芯片Overridepublic void move() {System.out.println(移动);}Overridepublic void transform() {System.out.println(汽车变形);}
}
class AirPlaneControlChip implements ControlChip{//飞机芯片Overridepublic void move() {System.out.println(移动);}Overridepublic void transform() {System.out.println(飞机变形);}
}
public class RobotTest {public static void main(String[] args) {WalkControlChip wnew WalkControlChip();RunningControlChip rnew RunningControlChip();CarControlChip cnew CarControlChip();AirPlaneControlChip anew AirPlaneControlChip();Robot r1new Robot(w);r1.move();r1.transform();Robot r2new Robot(c);r2.move();r2.transform();}
}2.智能形状识别器
设计一种智能形状识别器能够识别出具体形状并输出相关信息。如传入圆形对象则识别器则输出圆形、半径与面积等信息传入矩形对象能输出矩形、面积、长宽信息。
程序中识别功能不能使用if语句进行形状判断。
要求 1、给出面向对象的设计类图 2、给出Java代码实现。
import java.util.List;interface Shape{double calculateArea();//形状接口抽象出求面积方法
}
class Circle implements Shape{//圆类double radius;double area; //面积public Circle(double radius){this.radiusradius;}Overridepublic double calculateArea() {return Math.PI*radius*radius;}public double getRadius(){return this.radius;}}
class Rect implements Shape{//矩形类double length;double width;public Rect(double length,double width){this.lengthlength;this.widthwidth;}Overridepublic double calculateArea(){return length*width;}public double getLength(){return length;}public double getWidth(){return width;}
}
class Recognize{//识别器类Shape shape; //形状public Recognize(Shape shape){this.shapeshape;double areashape.calculateArea();if(shape instanceof Circle){//判断是圆Circle circle(Circle) shape; //向下转换System.out.println(Shape: Circle);System.out.println(Circle Radius:circle.getRadius());System.out.println(Circl Areae:area);}else if(shape instanceof Rect){Rect rect(Rect) shape;System.out.println(Shape: Rect);System.out.println(Rect Length:rect.getLength());System.out.println(Rect Width:rect.getWidth());System.out.println(Rect Area:area);}}}
public class RecognizerTest {public static void main(String[] args) {Circle circlenew Circle(10);Rect rectnew Rect(6,8);Recognize recognize1new Recognize(circle);Recognize recognize2new Recognize(rect);}
}3.狗嗅狗咬人
狗有多种嗅的功能嗅到骨头流口水嗅到老虎吓得跑嗅到主人很高兴。
人有生命值假设100所有的狗都会咬人藏獒或泰迪攻击一次可减少50或1个生命值。我先后养了藏獒、泰迪都取了相同的宠物名-小黄。
结构小黄都咬人了。
要求 1、给出面向对象的设计类图 2、给出Java代码实现。
class Person{//人类int health100;private Dog dog;public int getHealth(){return health;}public void setDog(Dog dog) {this.dog dog;}public void setHealth(int health){this.healthhealth;}
}
class Dog{String name;public void sniff(Object object){if(object instanceof Bone){System.out.println(name嗅到骨头流口水);}else if(object instanceof Tiger){System.out.println(name嗅到老虎吓得跑);}else if(object instanceof Person){System.out.println(name嗅到主人很高兴);}}public void bite(Person person){System.out.println(name咬人);}
}
class Bone{}
class Tiger{}
class Tibetan extends Dog{public Tibetan(String name){this.namename;}Overridepublic void bite(Person person){person.setHealth(person.getHealth()-50);System.out.println(name咬人了);}
}
class Teddy extends Dog{public Teddy(String name){this.namename;}Overridepublic void bite(Person person){person.setHealth(person.getHealth()-1);System.out.println(name咬人了);}
}
public class DogTest {public static void main(String[] args) {Person pnew Person();Tibetan t1new Tibetan(小黄1);Teddy t2new Teddy(小黄2);Bone bnew Bone();p.setDog(t1);t1.sniff(b);t1.bite(p);System.out.println(p.getHealth());p.setDog(t2);t2.sniff(b);t2.bite(p);System.out.println(p.getHealth());}
}4.银行账户攻防
假定银行账户能够提供存款、取款和查询余额操作。
系统受到黑客攻击设计出一种程序将取款多少变成存款多少。请实现上述要求。
要求 1、给出面向对象的设计类图 2、给出Java代码实现。
class BankAccount{private double balance;public BankAccount(double balance){this.balancebalance; //原有多少钱}public void deposit(double money){this.balancebalancemoney;}public void withdraw(double money){deposit(money);} //取款变成存款public double getBalance(){return balance;}
}
public class BankTest {public static void main(String[] args) {BankAccount bankAccountnew BankAccount(1400);System.out.println(bankAccount.getBalance());bankAccount.deposit(400);System.out.println(bankAccount.getBalance());bankAccount.withdraw(500);System.out.println(bankAccount.getBalance());}
}