package?DaRentCar2;
public?abstract?class?Car?{
private?String?name;?
private?int?rentfee;
private?int?weight;
private?int?person;
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?int?getRentfee()?{
return?rentfee;
}
public?void?setRentfee(int?rentfee)?{
this.rentfee?=?rentfee;
}
public?int?getWeight()?{
return?weight;
}
public?void?setWeight(int?weight)?{
this.weight?=?weight;
}
public?int?getPerson()?{
return?person;
}
public?void?setPerson(int?person)?{
this.person?=?person;
}
}
package?DaRentCar2;
public?interface?IPersonCarry?{
void?PersonC();
}
package?DaRentCar2;
public?interface?IWeightCarry?{
public?abstract?void?WeightC();
}
package?DaRentCar2;
public?interface?IWeightPersonCarry?extends?IWeightCarry,?IPersonCarry?{
void?WeightC();
}
package?DaRentCar2;
public?class?Carriage?extends?Car?implements?IPersonCarry?{
public?Carriage(String?name,int?rentfee,int?weight,int?person){
this.setName(name);
this.setRentfee(rentfee);
this.setWeight(weight);
this.setPerson(person);
}
@Override
public?void?PersonC()?{
//?TODO?Auto-generated?method?stub
System.out.println("可以載人");
}
}
package?DaRentCar2;
public?class?Pickup?extends?Car?implements?IWeightPersonCarry{
public?Pickup(String?name,int?rentfee,int?weight,int?person){
this.setName(name);
this.setRentfee(rentfee);
this.setWeight(weight);
this.setPerson(person);
}
@Override
public?void?PersonC()?{
//?TODO?Auto-generated?method?stub
System.out.println("可以載人");
}
@Override
public?void?WeightC()?{
//?TODO?Auto-generated?method?stub
System.out.println("可以載貨");
}?
}
package?DaRentCar2;
public?class?Truck?extends?Car?implements?IWeightCarry{
public?Truck(String?name,int?rentfee,int?weight,int?person){
this.setName(name);
this.setRentfee(rentfee);
this.setWeight(weight);
this.setPerson(person);
}
@Override
public?void?WeightC()?{
System.out.println("可以載貨");
}
}
package?DaRentCar2;
import?java.util.Scanner;
public?class?Test?{
public?static?void?main(String[]?args)?{
Car?carriage1?=?new?Carriage("奧迪A4",?500,?0,?4);
Car?carriage2?=?new?Carriage("馬自達(dá)6",?400,?0,?4);
Car?carriage3?=?new?Carriage("金龍",?800,?0,?20);
Car?pickup?=?new?Pickup("皮卡雪6",?450,?2,?4);
Car?truck1?=?new?Truck("松花江",?400,?4,?0);
Car?truck2?=?new?Truck("依維柯",?1000,?20,?0);
System.out.println("歡迎來(lái)到大大租車系統(tǒng)");
System.out.println("是否租車??1:是???0:否");
Scanner?in?=?new?Scanner(System.in);
int?choose?=?in.nextInt();
if(choose?==?0){
System.out.println("歡迎下次再來(lái),退出租車系統(tǒng)");
System.exit(0);
}else?if(choose?!=?0?&&?choose?!=?1){
System.out.println("輸入有誤,退出系統(tǒng)");
System.exit(0);
}else{
System.out.println("您可租的汽車類型和價(jià)目表:");
System.out.println("序號(hào)\t汽車名稱\t租金\t容量");
System.out.println("1.\t"+carriage1.getName()+"\t"+carriage1.getRentfee()+"/天\t"+"載"+carriage1.getPerson()+"人");
System.out.println("2.\t"+carriage2.getName()+"\t"+carriage2.getRentfee()+"/天\t"+"載"+carriage2.getPerson()+"人");
System.out.println("3.\t"+carriage3.getName()+"\t"+carriage3.getRentfee()+"/天\t"+"載"+carriage3.getPerson()+"人");
System.out.println("4.\t"+pickup.getName()+"\t"+pickup.getRentfee()+"/天\t"+"載"+pickup.getPerson()+"人"+"?載"+pickup.getWeight()+"噸");
System.out.println("5.\t"+truck1.getName()+"\t"+truck1.getRentfee()+"/天\t"+"載"+truck1.getWeight()+"噸");
System.out.println("6.\t"+truck2.getName()+"\t"+truck2.getRentfee()+"/天\t"+"載"+truck2.getWeight()+"噸");
System.out.println("請(qǐng)輸入您要租的車的數(shù)量");
int?num?=?in.nextInt();
int?n1=0,n2=0,n3=0,n4=0,n5=0,n6=0;
for(int?i?=0;i<num;i++){
System.out.println("請(qǐng)輸入您要租車的序號(hào)");
int?N?=?in.nextInt();
if(N==1){
n1++;
}
if(N==2){
n2++;
}
if(N==3){
n3++;
}
if(N==4){
n4++;
}
if(N==5){
n5++;
}
if(N==6){
n6++;
}
}
int?totalPerson?=?carriage1.getPerson()*n1+carriage1.getPerson()*n2+carriage1.getPerson()*n3
+pickup.getPerson()*n4;
int?totalWeight?=?pickup.getWeight()*n4+truck1.getWeight()*n5+truck2.getWeight()*n6;
int?totalRentfee?=?carriage1.getRentfee()*n1+carriage2.getRentfee()*n2+
carriage3.getRentfee()*n3+pickup.getRentfee()*n4+truck1.getRentfee()*n5+
truck2.getRentfee()*n6;
System.out.println("請(qǐng)輸入租車天數(shù)");
int?day?=?in.nextInt();
System.out.println("您的賬單:");
System.out.println("***可載人的車有:");
if(n1!=0){?
System.out.print(n1+"臺(tái)"+carriage1.getName()+'\t');?
}?
if(n2!=0){?
System.out.print(n2+"臺(tái)"+carriage2.getName()+'\t');?
}?
if(n3!=0){?
System.out.print(n3+"臺(tái)"+carriage3.getName()+'\t');?
}?
if(n4!=0){?
System.out.print(n4+"臺(tái)"+pickup.getName()+'\t');?
}?
System.out.println("共載人:"+totalPerson+"人");?
System.out.println("***可載貨的車有:");?
if(n4!=0){?
System.out.print(n4+"臺(tái)"+pickup.getName()+'\t');?
}?
if(n5!=0){?
System.out.print(n5+"臺(tái)"+truck1.getName()+'\t');?
}?
if(n6!=0){?
System.out.print(n6+"臺(tái)"+truck2.getName()+'\t');?
}?
System.out.println("共載貨:"+totalWeight+"噸");?
System.out.println("總租金:"+totalRentfee*day+"元");?}
}
}
2016-10-22
用到了 ?知識(shí)現(xiàn)在代碼比較少感覺(jué)不出來(lái) ? ? 等方法多了就感覺(jué)到接口的有用了
2016-10-22
用接口的引用可以指向?qū)崿F(xiàn)了接口的對(duì)象,然后就可以引用一些方法什么的