package mydadacent;
public class Car {
private int number;
private String name;
private int busload;
private double centMoney;
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 getBusload() {
return busload;
}
public void setBusload(int busload) {
this.busload = busload;
}
public double getCentMoney() {
return centMoney;
}
public void setCentMoney(double centMoney) {
this.centMoney = centMoney;
}
}
package mydadacent;
import duotai.Bus;
public class PassengerCar extends Car {
public PassengerCar(int number,String name,int busload,double centMonoy) {
this.setNumber(number);
this.setName(name);
this.setBusload(busload);
this.setCentMoney(centMonoy);
}
public void show(){
System.out.println(getNumber() + ". " + getName() + "\t" + getCentMoney() + "元/天" + "\t" + "载人" + getBusload() + "人" );
}
}
package mydadacent;
public class PickUp extends Car {
private double cargo;
public double getCargo() {
return cargo;
}
public void setCargo(double cargo) {
this.cargo = cargo;
}
public PickUp(int number,String name,int busload,double cargo,double centMoney){
this.setNumber(number);
this.setName(name);
this.setBusload(busload);
this.setCargo(cargo);
this.setCentMoney(centMoney);
}
public void show(){
System.out.println(getNumber() + ". " + getName() + "\t" + getCentMoney() + "元/天" + "\t" + "载人" + getBusload() + "载货" + getCargo() + "吨" );
}
}
package mydadacent;
public class Truck extends Car{
private double cargo;
public Truck(int number,String name,double cargo,double centMoney){
this.setNumber(number);
this.setName(name);
this.setCentMoney(centMoney);
this.setCargo(cargo);
}
public double getCargo() {
return cargo;
}
public void setCargo(double cargo) {
this.cargo = cargo;
}
public void show(){
System.out.println(getNumber() + ". " + getName() + "\t" + getCentMoney() + "元/天" + "\t" + "载货" + getCargo() + "吨" );
}
}
package mydadacent;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;
public class DaDaSystem {
public static void main(String[] args) {
System.out.println("欢迎进入哒哒租车系统!");
System.out.println("您是否要租车?" + " " + "租车请按:1" + " " + "不租请按:0" );
Scanner s = new Scanner(System.in);
int i = s.nextInt();
if (i == 1) {
System.out.println("您可租车的类型及其价目表:");
Car[] car = {new PassengerCar(1, "奥迪A4", 4, 500),new PassengerCar(2, "马自达6", 4, 400),
new PassengerCar(3, "金龙", 30, 1000),new Truck(4, "松花江", 4, 300),new Truck(5, "依维柯", 20, 800),
new PickUp(6, "皮卡", 2, 4, 700)};
System.out.println("序号" + " 汽车名称" + " 租金" + "\t" + " 容量");
for (Car c : car) {
if (c instanceof PassengerCar) {
((PassengerCar) c).show();
}
if(c instanceof Truck){
((Truck) c).show();
}
if (c instanceof PickUp) {
((PickUp) c).show();
}
}
List<Car> sentCar = new ArrayList<Car>() ;//存储要租的车;
System.out.println("请输入您要租车的数量:");
int sentCarDay = s.nextInt();
for(int j = 1;j <= sentCarDay;j++){
System.out.println("请输入第"+ j + "辆车的序号");
int num = s.nextInt();
if(num <= 6){
sentCar.add(car[num - 1]);//向ArrayList中添加选中的车
System.out.println("成功添加:" + car[num - 1].getName());
}else {
System.out.println("输入有误!");
break;
}
}
System.out.println("请输入要租车的天数:");
int sentDay = s.nextInt();
List<Car> sentPassCar = new ArrayList<Car>();
List<Car> sentTruckCar = new ArrayList<Car>();
int sumPeople = 0;
double sumCargo = 0;
double money = 0;
//用迭代器遍历出载人的车和载货的车
Iterator<Car> li = sentCar.iterator();
while(li.hasNext()){
Car selectCar = li.next();
if(selectCar instanceof PassengerCar){
sentPassCar.add(selectCar);
sumPeople += selectCar.getBusload();
money += selectCar.getCentMoney();
}
else if(selectCar instanceof Truck){
sentTruckCar.add(selectCar);
sumCargo += ((Truck) selectCar).getCargo();
money += selectCar.getCentMoney();
}
else if (selectCar instanceof PickUp){
sentPassCar.add(selectCar);
sentTruckCar.add(selectCar);
sumPeople += selectCar.getBusload();
sumCargo += ((PickUp) selectCar).getCargo();
money += selectCar.getCentMoney();
}
}
System.out.println("可用于载人的车有------------------------------------");
Iterator<Car> iPass= sentPassCar.listIterator();
while (iPass.hasNext()) {
System.out.print(iPass.next().getName()+ "\t");
}
System.out.println("共载人:" + sumPeople + "人");
System.out.println("可用于载货的车有------------------------------------");
Iterator<Car> iTruck= sentTruckCar.listIterator();
while (iTruck.hasNext()) {
System.out.print(iTruck.next().getName() + "\t");
}
System.out.println( "\t" + "共载货:" + sumCargo + "吨");
System.out.println("租车总价格为:" + money*sentDay + "元");
}
else if (i == 0) {
System.out.println("感谢您使用哒哒租车系统!");
}
else {
System.out.println("输入有误!请重新输入!");
}
}
}