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

3、項(xiàng)目源碼Demo
Car類(lèi)
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類(lèi)
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類(lèi)
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類(lèi)
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;
}
}
測(cè)試類(lèi)
package Car.rental;
import java.util.Scanner;
public class main_Car {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*****創(chuàng)建車(chē)對(duì)象*******/
/*Car tru=new Truck("拉絲貨車(chē)",200,1.1);
Car coa=new Coach("法法客車(chē)",150,20);
Car Pic=new Pickup("無(wú)名皮卡車(chē)",300,4,0.5);*/
Car[] Allcar= {new Truck("拉絲貨車(chē)",200,1.1),new Coach("法法客車(chē)",150,20),
new Pickup("無(wú)名皮卡車(chē)",300,4,0.5)};
System.out.println("請(qǐng)問(wèn)您是否要租車(chē):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("您可租車(chē)的類(lèi)型及其價(jià)目");
System.out.println("序號(hào)\t汽車(chē)名稱(chēng)\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("請(qǐng)輸入您要租車(chē)的數(shù)量");
int sum=scan.nextInt();
int Car_order;
for(int j=0;j<sum;j++)
{
System.out.print("你要租的第"+(j+1)+"輛車(chē)的序號(hào)是:");
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、項(xiàng)目命令行演示結(jié)果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)爬取往期所有雙色球開(kāi)獎(jiǎng)結(jié)果功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)爬取往期所有雙色球開(kāi)獎(jiǎng)結(jié)果功能,涉及Java網(wǎng)頁(yè)抓取、正則替換、文件讀寫(xiě)等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
Java實(shí)現(xiàn)圖片上傳至FastDFS入門(mén)教程
這篇文章主要介紹了Java實(shí)現(xiàn)圖片上傳至FastDFS入門(mén)教程,通過(guò)前端ajax提交圖片到后端,java處理服務(wù)器文件上傳至FastDFS文件服務(wù)器系統(tǒng),以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
Java使用嵌套循環(huán)模擬ATM機(jī)取款業(yè)務(wù)操作示例
這篇文章主要介紹了Java使用嵌套循環(huán)模擬ATM機(jī)取款業(yè)務(wù)操作,結(jié)合實(shí)例形式分析了Java模擬ATM機(jī)取款業(yè)務(wù)操作的相關(guān)流程控制、數(shù)值判斷等操作技巧,需要的朋友可以參考下2019-11-11
實(shí)例詳解java Struts2的配置與簡(jiǎn)單案例
這篇文章主要介紹了java Struts2的配置與簡(jiǎn)單案例,需要的朋友可以參考下2017-04-04
詳解SpringBoot中關(guān)于%2e的Trick
這篇文章主要介紹了SpringBoot中關(guān)于%2e的Trick,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Java創(chuàng)建可執(zhí)行的Jar文件的方法實(shí)踐
創(chuàng)建的可執(zhí)行Jar文件實(shí)際就是在原始Jar的清單文件中添加了Main-Class的配置,本文主要介紹了Java創(chuàng)建可執(zhí)行的Jar文件的方法實(shí)踐,感興趣的可以了解一下2023-12-12
圖解Java中插入排序算法的原理與實(shí)現(xiàn)
插入排序的算法描述是一種簡(jiǎn)單直觀的排序算法。它的工作原理是通過(guò)構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。本文將通過(guò)圖片詳解插入排序的原理及實(shí)現(xiàn),需要的可以參考一下2022-08-08
springboot配合Thymeleaf完美實(shí)現(xiàn)遍歷功能
Thymeleaf顯然是一個(gè)開(kāi)發(fā)頁(yè)面的技術(shù),現(xiàn)在各種前端技術(shù)層出不窮,比如現(xiàn)在主流的Vue、React、AngularJS等。這篇文章主要介紹了springboot配合Thymeleaf完美實(shí)現(xiàn)遍歷,需要的朋友可以參考下2021-09-09
使用springboot在工具類(lèi)中讀取配置文件(ClassPathResource)
這篇文章主要介紹了使用springboot在工具類(lèi)中讀取配置文件(ClassPathResource),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08

