继承加多态就可以实现了

来源:12-1 综合练习

神圣的莫小奇

2018-08-16 19:48

//Car 类
package carstore;
public class Car {	
public String name;	
public float price;	
public int number;	
public int capacity;
}
//PassengerCar 类

public class PassengerCar extends Car {

public  Car getPassengerCar(String name,float price,int number) {

Car car=new Car();

car.name=name;

car.price=price;

car.number=number;

return car;

}

}

//Pickup  类

public class Pickup extends Car {

public Car getPickup(String name,float price,int capacity,int number) {

Car car=new Car();

car.name=name;

car.price=price;

car.capacity=capacity;

car.number=number;

return car;

}

}

//Trucks  类

public class Trucks extends Car {

public  Car getTrucks(String name,float price,int capacity) {

Car car=new Car();

car.name=name;

car.price=price;

car.capacity=capacity;

return car;

}

}

//CarSystem 类  主函数


import java.util.Scanner;


public class CarSystem {

// TODO 自动生成的方法存根

static Car[]  type= {new PassengerCar().getPassengerCar("奥迪A4", 500, 4),

new PassengerCar().getPassengerCar("马自达6", 400, 4),

new Pickup().getPickup("皮卡雪6", 450, 2, 4),

new PassengerCar().getPassengerCar("金龙", 800, 20),

new Trucks().getTrucks("松花江", 400, 4),

new Trucks().getTrucks("依维柯", 1000, 20)};

static Scanner scan=new Scanner(System.in);

public static void main(String[] args) {

System.out.println("欢迎进入达达租车系统");

isNeed();

}

private static void isNeed() {

System.out.println("您是否要租车:是 1  否 2");

int input=scan.nextInt();

if(input==1) {

System.out.println("您可租车的类型及其价目表");

System.out.println("序号\t汽车名称\t 租金\t容量");

System.out.println("1\t"+type[0].name+"\t "+type[0].price+"\t载人:"+type[0].number+"人");

System.out.println("2\t"+type[1].name+"\t "+type[1].price+"\t载人:"+type[1].number+"人");

System.out.println("3\t"+type[2].name+"\t "+type[2].price+"\t载人:"+type[2].number+" 载货:"+type[2].capacity+"吨");

System.out.println("4\t"+type[3].name+"\t "+type[3].price+"\t载人:"+type[3].number+"人");

System.out.println("5\t"+type[4].name+"\t "+type[4].price+"\t载货:"+type[4].capacity+"吨");

System.out.println("6\t"+type[5].name+"\t "+type[5].price+"\t载货:"+type[5].capacity+"吨");

System.out.println("请输入要租车的数量");

int num=scan.nextInt();

int[] number=new int[num];

for(int i=0;i<num;i++) {

System.out.println("请输入第"+(i+1)+"辆车的序号");

int carnum=scan.nextInt();

number[i]=carnum;

}

System.out.println("请输入租车的天数:");

int day=scan.nextInt();

int sumPrice=0;

System.out.println("您好!你的账单:");

for(int i=0;i<number.length;i++) {

System.out.print(type[number[i]].name+"\t");

sumPrice+=type[number[i]].price;

}

System.out.println("\n***您租车的总金额:"+sumPrice*day+"元");

}

if(input==2) {

System.out.println("Sorry 请退出");

}

}

}



写回答 关注

1回答

  • 慕田峪8289566
    2018-08-25 15:21:28

    ?想了解什么?

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531022 学习 · 6160 问题

查看课程

相似问题