java达达租车接口_Java第一个项目——达达租车系统v1
父類(lèi)Vehicle
package com.dada;
public class Vehicle {
protected String name;//車(chē)輛名稱(chēng)
protected int price;//單天租車(chē)價(jià)格
protected int passengers;//載客數(shù)
protected int goods;//載貨量
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getPassengers() {
return passengers;
}
public void setPassengers(int passengers) {
this.passengers = passengers;
}
public int getGoods() {
return goods;
}
public void setGoods(int goods) {
this.goods = goods;
}
//顯示車(chē)輛信息
public void showInfo() {
System.out.println("顯示車(chē)輛信息");
}
}
子類(lèi)-載人汽車(chē) PassengerVehicle
package com.dada;
//客運(yùn)汽車(chē)
public class PassengerVehicle extends Vehicle {
public PassengerVehicle(String name, int passengers, int price) {
// TODO Auto-generated constructor stub
this.name = name;
this.passengers = passengers;
this.price = price;
this.goods = 0;
}
@Override
//顯示車(chē)輛信息
public void showInfo() {
System.out.println(name + "\t" + price + "元/天\t載人:" + passengers + "人");
}
}
子類(lèi)-載貨汽車(chē) GoodsVehicle
package com.dada;
//貨運(yùn)汽車(chē)
public class GoodsVehicle extends Vehicle {
public GoodsVehicle(String name, int goods, int price) {
this.name = name;
this.goods = goods;
this.price = price;
this.passengers = 0;
}
@Override
//顯示車(chē)輛信息
public void showInfo() {
System.out.println(name + "\t" + price + "元/天\t載貨:" + goods + "噸");
}
}
子類(lèi)-皮卡車(chē) PickupTruck
package com.dada;
//皮卡車(chē),客貨兩用
public class PickupTruck extends Vehicle {
public PickupTruck(String name, int passengers, int goods, int price) {
super();
this.name = name;
this.passengers = passengers;
this.goods = goods;
this.price = price;
}
@Override
//顯示車(chē)輛信息
public void showInfo() {
System.out.println(name + "\t" + price + "元/天\t載人:" + passengers + "人 載貨:" + goods + "噸");
}
}
租車(chē)類(lèi)(主程序) HireVehicle
package com.dada;
import java.util.Scanner;
public class HireVehicle {
private static Vehicle v[];// 保存所有車(chē)輛信息
private static int vehicleNums; // 記錄客戶(hù)要租的車(chē)輛數(shù)
private static int days; // 記錄租車(chē)天數(shù)
private static int hiredVehicleNo[]; // 記錄客戶(hù)選擇的車(chē)輛編號(hào),數(shù)組長(zhǎng)度即所租車(chē)輛數(shù)
// 初始化所有車(chē)輛信息
public static void initialVechicles(){
// 初始化車(chē)輛信息
Vehicle localV[] = {
new PassengerVehicle("奧迪A4", 4, 500),
new PassengerVehicle("馬自達(dá)6", 4, 400),
new PickupTruck("皮卡雪6", 4, 2, 450),
new PassengerVehicle("金龍", 20, 800),
new GoodsVehicle("松花江", 4, 400),
new GoodsVehicle("依維柯", 20, 1000)
};
v = localV;
}
// 顯示所有車(chē)輛信息
public static void listVehicles(Vehicle v[]) {
if (v != null) {
System.out.println("您可租車(chē)的類(lèi)型及其價(jià)目表:");
System.out.println("序號(hào)\t汽車(chē)名稱(chēng)\t租金\t容量");
for (int i = 0; i < v.length; i++) {
System.out.print((i + 1) + ".\t");
v[i].showInfo();
}
}
}
// 填寫(xiě)租車(chē)訂單
public static void order() {
Scanner input = new Scanner(System.in);
System.out.println("請(qǐng)輸入您要租汽車(chē)的數(shù)量:");
vehicleNums = input.nextInt();// 記錄客戶(hù)要租的車(chē)輛數(shù)
int localHiredVehicleNo[] = new int[vehicleNums];// 記錄客戶(hù)選擇的車(chē)輛編號(hào)
for (int i = 0; i < vehicleNums; i++) {
System.out.println("請(qǐng)輸入第" + (i + 1) + "輛車(chē)的序號(hào):"); // 使用i+1以符合用戶(hù)的使用習(xí)慣,從1開(kāi)始數(shù)
localHiredVehicleNo[i] = input.nextInt();
}
hiredVehicleNo = localHiredVehicleNo; // 引用傳遞給成員變量,以便供其它方法使用
System.out.println("請(qǐng)輸入租車(chē)天數(shù):");
days = input.nextInt();// 記錄租車(chē)天數(shù)
input.close();
}
// 輸出賬單
public static void showOrder() {
int tPassenger = 0;// 總載客人數(shù)
float tGoods = 0;// 總載重量
double tPrice = 0;// 1天的租車(chē)總價(jià)
//租車(chē)數(shù)大于0,才輸出賬單,否則說(shuō)明沒(méi)有租車(chē),輸出提示沒(méi)有訂單信息。
if (hiredVehicleNo.length > 0) {
System.out.println("您的賬單:");
System.out.println("***可載人的車(chē)有:");
//先遍歷所有租用的車(chē)輛,尋找能載客的車(chē)輛信息,輸出車(chē)輛名稱(chēng),并統(tǒng)計(jì)出總載客人數(shù)和單日租金總額
for (int i = 0; i < hiredVehicleNo.length; i++) {
int j = hiredVehicleNo[i] - 1;//讀取所租車(chē)輛編號(hào)
if ((v[j] instanceof PassengerVehicle) || (v[j] instanceof PickupTruck)) { //如果是載客汽車(chē)或皮卡車(chē)
tPassenger += v[j].getPassengers();//累加總載客人數(shù)
System.out.print(" " + v[j].getName());//輸出車(chē)輛名稱(chēng)
tPrice += v[j].getPrice();//累加單日租金
}
}
System.out.println(" 共載人:" + tPassenger + "人");//輸出總載客人數(shù)
System.out.println("***載貨的車(chē)有:");
//再次遍歷所有租用的車(chē)輛,尋找能載貨的車(chē)輛信息,輸出車(chē)輛名稱(chēng),并統(tǒng)計(jì)出總載貨量和單日租金總額
for (int i = 0; i < hiredVehicleNo.length; i++) {
int j = hiredVehicleNo[i] - 1;//讀取所租車(chē)輛編號(hào)
if (v[j] instanceof GoodsVehicle) { //如果是載貨車(chē)輛
tGoods += v[j].getGoods();//累加總載貨量
System.out.print(" " + v[j].getName());//累加總載貨量
tPrice += v[j].getPrice();//累加單日租金
} else if (v[j] instanceof PickupTruck) {//如果是皮卡車(chē)
tGoods += v[j].getGoods();//累加總載貨量
System.out.print(" " + v[j].getName());//累加總載貨量。因?yàn)橹敖y(tǒng)計(jì)載客車(chē)輛時(shí)已累加皮卡車(chē)的租金,所以此次不應(yīng)再累加租金。
}
}
System.out.println(" 共載貨:" + tGoods + "噸");//輸出總載貨量
System.out.println("***租車(chē)總價(jià)格:" + (tPrice * days) + "元");//輸出租金總額(單日租金總額*天數(shù))
} else {
System.out.println("沒(méi)有訂單信息。");
}
}
// 租車(chē)
public static void hire(){
// 顯示歡迎信息,并詢(xún)問(wèn)是否租車(chē)
System.out.println("歡迎使用達(dá)達(dá)租車(chē)系統(tǒng):\n您是否要租車(chē):1是 0否");
int flagHire = 0;// 是否要租車(chē)標(biāo)記,1租車(chē),0不租
Scanner input = new Scanner(System.in);
flagHire = input.nextInt();
if (flagHire == 0) {
System.out.println("歡迎下次光臨"); // 不租
} else { // 租車(chē)
// 顯示所有車(chē)輛信息
HireVehicle.listVehicles(v);
// 下訂單
HireVehicle.order();
// 顯示賬單
HireVehicle.showOrder();
}
input.close();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//初始化車(chē)輛信息
HireVehicle.initialVechicles();
//租車(chē)
HireVehicle.hire();
}
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的java达达租车接口_Java第一个项目——达达租车系统v1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用WinDbg分析蓝屏dump原因
- 下一篇: 加密工具类