import java.util.*;
/** @pdOid 96931d41-3c38-42f7-8656-38660e3a35d0 */
public abstract class Car {
/** @pdOid 010597b9-b9a3-4aeb-b2db-0aa391df8bc9 */
protected String carName;
/** @pdOid 799c73bc-a09f-4171-8262-823d0a847312 */
protected double rents;
/** @pdOid a68a358b-d4b0-4133-bf22-b9d2e5e9e00b */
protected String carType;
/** @pdOid 254aa617-8fbb-4cf7-86d2-0d462097b100 */
protected String capicity;
public Car(String carname2, int rents2) {
// TODO Auto-generated constructor stub
this.carName = carname2;
this.rents = rents2;
}
}
/***********************************************************************
* Module: PassengerCar.java
* Author: 鏂颁竴
* Purpose: Defines the Class PassengerCar
***********************************************************************/
import java.util.*;
/** @pdOid 09d2dd0e-1caa-4942-8951-3dda86db4488 */
public class PassengerCar extends Car {
public PassengerCar(String carname,int rents,int capicity)
{
super(carname,rents);
if(capicity<5)
this.carType="小汽车";
else{
this.carType="大客车";
}
this.capicity = capicity+"人/辆";
}
}
/***********************************************************************
* Module: Truck.java
* Author: 鏂颁竴
* Purpose: Defines the Class Truck
***********************************************************************/
import java.util.*;
/** @pdOid fbb53fc2-6c0d-47e4-910c-be9b4bea4572 */
public class Truck extends Car {
public Truck(String carname,int rents,int capicity)
{
super(carname,rents);
if(capicity<5)
{
this.carType="轻型货车";
}
else{
this.carType="重型货车";
}
this.capicity = capicity+"吨/辆";
}
}
/***********************************************************************
* Module: PickUp.java
* Author: 鏂颁竴
* Purpose: Defines the Class PickUp
***********************************************************************/
import java.util.*;
/** @pdOid 4e005cc0-5b4a-4cc2-b76f-2778450ec85a */
public class PickUp extends Car {
/** @pdOid b0eccce9-6d5f-4d14-919d-d254fa432565 */
private int goodsCapicity;
/** @pdOid 1e0ee642-507d-4e5d-bc3d-09838a2e15c0 */
private int passengerCapicity;
public PickUp(String carname,int rents,int pcapicity,int gcapicity)
{
super(carname,rents);
this.carType = "皮卡";
this.goodsCapicity = gcapicity;
this.passengerCapicity = pcapicity;
this.capicity = "载客:"+pcapicity+"人/辆 载货:"+gcapicity+"吨/辆 ";
}
}
//主函数所在类
import java.util.Scanner;
public class InitialClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请问您要租车吗?是按1,否按0");
Scanner sc = new Scanner(System.in);
int i;
do
{
System.out.print("请输入:");
i = sc.nextInt();
if(0 == i){
System.out.print("您已退出程序!");
return; //不租车,程序返回
}
else if (1 == i){
Car[] AllCars = {new Truck("解放",1000,15),new Truck("奔驰卡车",800,4),new Truck("金杯",900,10),new PassengerCar("宝马",1000,5),new PassengerCar("Smart",657,2),new PassengerCar("Mini",650,4),new PickUp("东风皮卡",500,5,5)};
System.out.println("以下是可供选择的车型:");
System.out.printf("%-15s%-15s%-15s%-15s%-15s\n","选车","车名","类型","租金","容量");
for(int j=0;j<AllCars.length;j++)
{
System.out.printf("%-15s%-15s%-15s%-15s%-15s\n",j+1,AllCars[j].carName,AllCars[j].carType,AllCars[j].rents,AllCars[j].capicity);
}
System.out.print("您准备租几梁车?");
int num = sc.nextInt();
int[] carnum = new int[num];//存放车的编号
int[] days = new int[num];
double allrents=0;//总费用
for(int ii=0;ii<num;ii++){
System.out.print("请输入车的编号:");
carnum[ii] = sc.nextInt();
System.out.println();
System.out.println("请输入该车租用的天数:");
days[ii] = sc.nextInt();
allrents += AllCars[carnum[ii]-1].rents * days[ii];
}
System.out.println("您的订单为:");
System.out.printf("%-15s%-15s%-15s%-15s%-15s%-15s%-15s\n","编号","车名","类型","租金","容量","租借天数","该车租费");
for(int j=0;j<num;j++)
{
System.out.printf("%-15s%-15s%-15s%-15s%-15s%-15s%-15s\n",carnum[j],AllCars[carnum[j]-1].carName,AllCars[carnum[j]-1].carType,AllCars[carnum[j]-1].rents,AllCars[carnum[j]-1].capicity,days[j],AllCars[carnum[j]-1].rents * days[j]);
}
System.out.print("总费用为:"+allrents);
}
else{
System.out.println("请输入正确数字");
}
}while(i!=0&&i!=1);
}
}