java入门答答租车系统

利用封装、继承、多态所写成的代码

父类

public class car {
public String name;
public double price;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}

}

子类

public class PessageCar extends car {
private double zairen;
public PessageCar(String name, double price, double zairen) {
this.name = name;
this.price = price;
this.zairen = zairen;
}
public double getZairen() {
return zairen;
}
public void setZairen(double zairen) {
this.zairen = zairen;

}
}
public class Trunk extends car {
private double zaihuo;
public Trunk(String name, double price, double zaihuo) {
this.name = name;
this.price = price;
this.zaihuo = zaihuo;
}
public double getZaihuo() {
return zaihuo;
}
public void setZaihuo(double zaihuo) {
this.zaihuo = zaihuo;
}

}

public class AllCar extends car {
private double zairen;
private double zaihuo;

public AllCar(String name, double price, double zairen, double zaihuo) {
this.name = name;
this.price = price;
this.zairen = zairen;
this.zaihuo = zaihuo;
}

public double getZaihuo() {
return zaihuo;
}
public void setZaihuo(double zaihuo) {
this.zaihuo = zaihuo;
}

public double getZairen() {
return zairen;
}
public void setZairen(double zairen) {
this.zairen = zairen;
}
}

测试类

package com.imooc;

import java.util.Scanner;

public class Initial {

public static void main(String[] args) {
// TODO Auto-generated method stub

car[] CarsForRent = {new PessageCar("奥迪A4", 500, 4), new PessageCar("马自达6",400,4), new AllCar("皮卡雪6",450,4, 0), new PessageCar("金龙",800, 20), new Trunk("松花江",400,4),new Trunk("依维柯",1000,20)};
System.out.println("欢迎使用答答租车!");
System.out.println("您是否租车?  1:租车  2:不租车");
Scanner scan = new Scanner(System.in);
String input = scan.next(); 

if(input.equals("1")) {
System.out.println("您可租车的类型及价目表:");
int i = 1;
for(car currentCar : CarsForRent) {
if(currentCar instanceof PessageCar)
{
System.out.println(i+"\t"+currentCar.getName()+"\t"+currentCar.getPrice()+"元\t"+((PessageCar)currentCar).getZairen()+"人");
}
if(currentCar instanceof AllCar)
{
System.out.println(i+"\t"+currentCar.getName()+"\t"+currentCar.getPrice()+"元\t"+((AllCar)currentCar).getZairen()+"人\t"+((AllCar)currentCar).getZaihuo()+"吨");
}
if(currentCar instanceof Trunk)
{
System.out.println(i+"\t"+currentCar.getName()+"\t"+currentCar.getPrice()+"元\t"+((Trunk)currentCar).getZaihuo()+"吨");
}
i++;
}
System.out.println("请输入您需要租车的数量:");

int SumNum = scan.nextInt();
car[] zairen = new car[SumNum];
car[] zaihuo = new car[SumNum];
double SumMoney = 0;
double SumPeople = 0;
double SumGoods = 0;
int p = 0, q = 0;

for(int j = 1; j <= SumNum; j++)
{
System.out.println("请输入第"+j+"辆车的序号:");
int idNum = scan.nextInt();
SumMoney += CarsForRent[idNum-1].getPrice();
if(CarsForRent[j-1] instanceof PessageCar) {
zairen[p++] = CarsForRent[idNum-1];
SumPeople += ((PessageCar)CarsForRent[idNum-1]).getZairen();
}

if(CarsForRent[j-1] instanceof Trunk) {
zaihuo[q++] = CarsForRent[idNum-1];
SumGoods += ((Trunk)CarsForRent[idNum-1]).getZaihuo();
}

if(CarsForRent[j-1] instanceof AllCar) {
zairen[p++] = CarsForRent[idNum-1];
SumPeople += ((AllCar)CarsForRent[idNum-1]).getZairen();
zaihuo[q++] = CarsForRent[idNum-1];
SumGoods += ((AllCar)CarsForRent[idNum-1]).getZaihuo();
}
}
System.out.println("请输入租车的天数:");
int day = scan.nextInt();
SumMoney *= day;
System.out.println("您的账单:");
System.out.println("可载人的车有:");
for(int l = 0; l < q; l++)
{
System.out.print(zairen[l].getName()+"\t");
}
System.out.println("共载人"+SumPeople+"人");	
System.out.println("可载货的车有:");
for(int k=0; k < q; k++)
{
System.out.print(zaihuo[k].getName()+"\t");
}
System.out.print("共载货:"+SumGoods+"吨");
System.out.println();
System.out.println("租车的总价:"+SumMoney+"元");
}
}
}

猜你喜欢

转载自blog.csdn.net/qq_43501462/article/details/98474043