最后一节课的例子 请慕友指正!
首先是Car父类 Car.java
package com.imooc.carsystem;
public class Car {
private String name; //车辆名称
private int rent; //车辆租金
private int volPerson; //车辆载人容量
private int volGoods; //车辆载货容量
public Car(String name,int rent,int volPerson,int volGoods){
this.name = name;
this.rent = rent;
this.volPerson = volPerson;
this.volGoods = volGoods;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getRent() {
return rent;
}
public void setRent(int rent) {
this.rent = rent;
}
public int getVolPerson() {
return volPerson;
}
public void setVolPerson(int volPerson) {
this.volPerson = volPerson;
}
public int getVolGoods() {
return volGoods;
}
public void setVolGoods(int volGoods) {
this.volGoods = volGoods;
}
//租车价格
public double sumprice(int days,int rent){
return days*rent;
}
}客车子类 Coach.java
package com.imooc.carsystem;
public class Coach extends Car {
//客车
public Coach(String name, int rent, int volPerson, int volGoods) {
super(name, rent, volPerson, volGoods);
}
}货车子类 Truck.java
package com.imooc.carsystem;
public class Truck extends Car {
//货车
public Truck(String name, int rent, int volPerson, int volGoods) {
super(name, rent, volPerson, volGoods);
}
}皮卡子类 Pickup.java
package com.imooc.carsystem;
public class Pickup extends Car {
//皮卡
public Pickup(String name, int rent, int volPerson, int volGoods) {
super(name, rent, volPerson, volGoods);
}
}测试执行类 Init.java
package com.imooc.carsystem;
import java.util.Arrays;
import java.util.Scanner;
public class Init {
public static Car[] cars = {
new Coach("奥迪A4",500,4,0),
new Coach("马自达6",400,4,0),
new Pickup("皮卡雪6",450,4,2),
new Coach("金龙",800,20,0),
new Truck("松花江",400,0,4),
new Truck("依维柯",1000,0,20)
};
public static int[] carNums;
public static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("欢迎使用答答租车系统");
System.out.println("你是否要租车:1是 0否");
//Scanner input = new Scanner(System.in);
int isTrue = input.nextInt();
if(isTrue == 1){
System.out.println("您可租车的类型及价目表");
System.out.println("序号\t汽车名称\t租金\t\t容量");
int i = 1;
for(Car car : cars){
if(car instanceof Coach){
System.out.println(""+i+".\t"+car.getName()+"\t"+car.getRent()+"元/天\t\t"+"载人:"+car.getVolPerson()+"人");
}else if(car instanceof Pickup){
System.out.println(""+i+".\t"+car.getName()+"\t"+car.getRent()+"元/天\t\t"+"载人:"+car.getVolPerson()+"人\t载货:"+car.getVolGoods()+"吨");
}else if(car instanceof Truck){
System.out.println(""+i+".\t"+car.getName()+"\t"+car.getRent()+"元/天\t\t"+"载货:"+car.getVolGoods()+"吨");
}
i++;
}
System.out.println("请输入你要租车的数量");
carNums = new int[input.nextInt()];
for(int j=0;j<carNums.length;j++){
System.out.println("请输入第"+(j+1)+"的序号:");
carNums[j] = input.nextInt();
}
//System.out.println(Arrays.toString(carNums));
System.out.println("请输入租车的天数:");
int days = input.nextInt();
System.out.println("您的账单:");
System.out.println("可载人的车有:");
int sumPerson = 0; //合计载人量
int sumGoods = 0; //合计载货量
String personCar = "";
String goodsCar = "";
double sumPrice = 0;
for(int k=0;k<carNums.length;k++){
if(cars[carNums[k] - 1] instanceof Coach || cars[carNums[k] - 1] instanceof Pickup){
personCar += cars[carNums[k] - 1].getName()+"\t";
sumPerson += cars[carNums[k] - 1].getVolPerson();
}
if(cars[carNums[k] - 1] instanceof Truck || cars[carNums[k] - 1] instanceof Pickup){
goodsCar += cars[carNums[k] - 1].getName()+"\t";
sumGoods += cars[carNums[k] - 1].getVolGoods();
}
sumPrice += cars[carNums[k] - 1].sumprice(days,cars[carNums[k] - 1].getRent());
}
System.out.println(personCar+"\t共载人:"+sumPerson);
System.out.println("***载货的车有:");
System.out.println(goodsCar+"\t共载货:"+sumGoods);
System.out.println("***租车总价格:"+sumPrice+"元");
}else{
System.out.println("****谢谢您的使用****");
}
}
}