java實現(xiàn)簡單租車系統(tǒng)
本文實例為大家分享了java實現(xiàn)租車系統(tǒng)Demo,供大家參考,具體內(nèi)容如下
這也是參考了mooc上的一個基礎(chǔ)項目,所以拿來寫一下。不過我的Demo肯定有不好或者錯誤的地方,歡迎指出
1、項目功能/需求
a、展示所有可租車輛
b、選擇車型、租車量
c、展示租車清單,包含:總金額、總載貨量、總載客量
2、項目系統(tǒng)UML圖

3、項目源碼Demo
Car類
package Car.rental;
public class Car {
private String name;
private int rent;
private int passenger;
private double volume;
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 getPassenger() {
return passenger;
}
public void setPassenger(int passenger) {
this.passenger = passenger;
}
public double getVolume() {
return volume;
}
public void setVolume(double volume) {
this.volume = volume;
}
}
Truck類
package Car.rental;
public class Truck extends Car {
private String name;
private int rent;
private double volume;
public Truck(String name,int rent,double volume)
{
this.name=name;
this.rent=rent;
this.volume=volume;
}
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 double getVolume() {
return volume;
}
public void setVolume(double volume) {
this.volume = volume;
}
}
Coach類
package Car.rental;
public class Coach extends Car {
private String name;
private int rent;
private int passenger;
public Coach(String name,int rent,int passenger) {
this.name=name;
this.passenger=passenger;
this.rent=rent;
}
public int getPassenger() {
return passenger;
}
public void setPassenger(int passenger) {
this.passenger = passenger;
}
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;
}
}
Pickup類
package Car.rental;
public class Pickup extends Car {
private String name;
private int rent;
private int passenger;
private double volume;
public Pickup(String name,int rent,int passenger,double volume)
{
this.name=name;
this.passenger=passenger;
this.rent=rent;
this.volume=volume;
}
public int getPassenger() {
return passenger;
}
public void setPassenger(int passenger) {
this.passenger = passenger;
}
public double getVolume() {
return volume;
}
public void setVolume(double volume) {
this.volume = volume;
}
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;
}
}
測試類
package Car.rental;
import java.util.Scanner;
public class main_Car {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*****創(chuàng)建車對象*******/
/*Car tru=new Truck("拉絲貨車",200,1.1);
Car coa=new Coach("法法客車",150,20);
Car Pic=new Pickup("無名皮卡車",300,4,0.5);*/
Car[] Allcar= {new Truck("拉絲貨車",200,1.1),new Coach("法法客車",150,20),
new Pickup("無名皮卡車",300,4,0.5)};
System.out.println("請問您是否要租車:1.是 2.否");
Scanner scan=new Scanner(System.in);
String input=scan.next();
if(input.equals("1"))
{
int all_rent = 0;//總租金
int all_passenger=0;//總載客
double all_volume=0.0;//總載貨
System.out.println("您可租車的類型及其價目");
System.out.println("序號\t汽車名稱\t租金\t容量\t");
for(int i=0;i<Allcar.length;i++)
{
if(Allcar[i] instanceof Truck)
{
System.out.println((i+1)+"\t"+Allcar[i].getName()+"\t"+Allcar[i].getRent()+"\t"+"載貨:"+Allcar[i].getVolume());
}
if(Allcar[i] instanceof Coach)
{
System.out.println((i+1)+"\t"+Allcar[i].getName()+"\t"+Allcar[i].getRent()+"\t"+"載客:"+Allcar[i].getPassenger());
}
if(Allcar[i] instanceof Pickup)
{
System.out.println((i+1)+"\t"+Allcar[i].getName()+"\t"+Allcar[i].getRent()+"\t"+"載客:"+Allcar[i].getPassenger()+"載貨:"+Allcar[i].getVolume());
}
}
System.out.println("請輸入您要租車的數(shù)量");
int sum=scan.nextInt();
int Car_order;
for(int j=0;j<sum;j++)
{
System.out.print("你要租的第"+(j+1)+"輛車的序號是:");
Car_order=scan.nextInt();
System.out.println();
if(Allcar[Car_order-1] instanceof Truck)
{
all_rent+=Allcar[Car_order-1].getRent();
all_volume+=Allcar[Car_order-1].getVolume();
}
if(Allcar[Car_order-1] instanceof Coach)
{
all_rent+=Allcar[Car_order-1].getRent();
all_passenger+=Allcar[Car_order-1].getPassenger();
}
if(Allcar[Car_order-1] instanceof Pickup)
{
all_rent+=Allcar[Car_order-1].getRent();
all_passenger+=Allcar[Car_order-1].getPassenger();
all_volume+=Allcar[Car_order-1].getVolume();
}
}
System.out.println("您的總租金是:"+all_rent);
System.out.println("您的總載貨是:"+all_volume);
System.out.println("您的總載客是:"+all_passenger);
}
}
}
4、項目命令行演示結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Boot集成JasperReport生成文檔的方法
由于工作需要,要實現(xiàn)后端根據(jù)模板動態(tài)填充數(shù)據(jù)生成PDF文檔,通過技術(shù)選型,使用Ireport5.6來設計模板,結(jié)合JasperReports5.6工具庫來調(diào)用渲染生成PDF文檔,這篇文章主要介紹了Spring?Boot集成JasperReport生成文檔,需要的朋友可以參考下2023-09-09
Java常用API類之Math System tostring用法詳解
System類代表系統(tǒng),系統(tǒng)級的很多屬性和控制方法都放置在該類的內(nèi)部。該類位于java.lang包,Java 的 Math 包含了用于執(zhí)行基本數(shù)學運算的屬性和方法,如初等指數(shù)、對數(shù)、平方根和三角函數(shù),toString() 方法用于返回以一個字符串表示的 Number 對象值2021-10-10
Spring?IOC容器Bean注解創(chuàng)建對象組件掃描
這篇文章主要為大家介紹了Spring?IOC容器Bean注解創(chuàng)建對象組件掃描,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
關(guān)于Mybatis-Plus?Wrapper是否應該出現(xiàn)在Servcie類中
最近在做代碼重構(gòu),代碼工程采用了Controller/Service/Dao分層架構(gòu),Dao層使用了Mybatis-Plus框架,本文帶領(lǐng)大家學習Mybatis-Plus?Wrapper應該出現(xiàn)在Servcie類中嗎,需要的朋友可以參考下2023-05-05
詳解Java實現(xiàn)JSONArray轉(zhuǎn)Map的三種實現(xiàn)方式
本文主要介紹了Java實現(xiàn)JSONArray轉(zhuǎn)Map的三種實現(xiàn)方式,本文只是自己常用的三種,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

