就是JAVA第二季最后一個綜合練習(xí),就是想問如果運用抽象和接口時是不是這樣處理和拆分。
package?com.imocc;
public?abstract?class?CarSystem?{
private?int?number;
private?String?name;
private?int?money;
public?int?getNumber()?{
return?number;
}
public?void?setNumber(int?number)?{
this.number?=?number;
}
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?int?getMoney()?{
return?money;
}
public?void?setMoney(int?money)?{
this.money?=?money;
}
}
package?com.imocc;
public?interface?Passenger?{
public?void?setPassenger(int?passengere);
public?int?getPassenger();
}
package?com.imocc;
public?interface?Goods?{
public?void?setGoods(int?goods);
public?int?getGoods();
}
package?com.imocc;
public?class?Bus?extends?CarSystem?{
private?int?passenger;
public?int?getPassenger()?{
return?passenger;
}
public?void?setPassenger(int?passenger)?{
this.passenger?=?passenger;
}
public?Bus(int?number,String?name,int?money,int?passenger){
this.setNumber(number);
this.setName(name);
this.setMoney(money);
this.setPassenger(passenger);
}
?
}
package?com.imocc;
public?class?Lorries?extends?CarSystem?implements?Goods?{
private?int?goods;
@Override
public?void?setGoods(int?goods)?{
//?TODO?Auto-generated?method?stub
this.goods=goods;
}
@Override
public?int?getGoods()?{
//?TODO?Auto-generated?method?stub
return?goods;
}
public?Lorries(int?number,String?name,int?money,int?goods){
this.setNumber(number);
this.setName(name);
this.setMoney(money);
this.setGoods(goods);;
}
}
package?com.imocc;
public?class?Pika?extends?CarSystem?implements?Goods,?Passenger?{
private?int?passenger;
private?int?goods;
public?int?getPassenger()?{
return?passenger;
}
public?void?setPassenger(int?passenger)?{
this.passenger?=?passenger;
}
public?int?getGoods()?{
return?goods;
}
public?void?setGoods(int?goods)?{
this.goods?=?goods;
}
public?Pika(int?number,String?name,int?money,int?passenger,int?goods){
this.setNumber(number);
this.setName(name);
this.setMoney(money);
this.setPassenger(passenger);
this.setGoods(goods);
}
}
package?com.imocc;
public?class?CarList?{
?CarSystem?[]?car={new?Bus(1,"奧迪A4",500,4),new?Bus(2,"馬自達6",400,4),new?Pika(3,"皮卡雪6",450,4,2),new?Bus(4,"?金龍?",800,20),
??????????new?Lorries(5,"松花江",400,4),new?Lorries(6,"依維柯",1000,20)};
?????
}
package?com.imocc;
import?java.util.Scanner;
public?class?CarText?{
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
CarList?cl=new?CarList();
System.out.println("歡迎來到滴滴租車系統(tǒng)!");
System.out.println("請問是否租車:1,是2.否");
Scanner?c=new?Scanner(System.in);
int?k=c.nextInt();
if(k==1){
System.out.println("您可租車的類型及其價目表:");
System.out.println("序號"+"\t"+"汽車名稱"+"\t"+"租金"+"\t"+"乘客/載重");
for(CarSystem?cs:cl.car){
if(cs?instanceof?Bus){
System.out.println(cs.getNumber()+"\t"+cs.getName()+"\t"+cs.getMoney()+"\t"+((Bus)cs).getPassenger());
}
if(cs?instanceof?Lorries){
System.out.println(cs.getNumber()+"\t"+cs.getName()+"\t"+cs.getMoney()+"\t"+"\t"+((Lorries)cs).getGoods());
}
if(cs?instanceof?Pika){
System.out.println(cs.getNumber()+"\t"+cs.getName()+"\t"+cs.getMoney()+"\t"+((Pika)cs).getPassenger()+"\t"+((Pika)cs).getGoods());
}
}
System.out.println("請輸入您要租的汽車的");
int?a=c.nextInt()-1;
System.out.println(cl.car[a].getName());
System.out.println("請輸入您要租的天數(shù)");
int?b=c.nextInt();
System.out.println("你需要支付的金額:"+b*cl.car[a].getMoney());
}
else?if(k==2){
System.out.println("歡迎再次光臨");
}
}
}
添加回答
舉報
0/150
提交
取消