最后一节课的例子 请慕友指正!
首先是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("****谢谢您的使用****"); } } }