首頁 >Java >java教程 >Java實現租車系統的詳細過程

Java實現租車系統的詳細過程

Y2J
Y2J原創
2017-05-08 16:00:153346瀏覽

這篇文章主要為大家介紹了利用Java實現一個達達租車系統的步驟,文中給出了詳細的實現思路和示例代碼,並在文末給出了完整的源碼供大家學習下載,需要的朋友可以參考借鑒,下面來一起看看吧。

本文介紹的是利用java編寫一個控制台版的“達達租車系統”,下面話不多說了,來看看詳細實現方法吧。

實現目標

java寫一個控制台版的「達達租車系統」

實現功能

     1.展示所有可租借車輛

##     2.選擇車款、租車量


##     3.展示租車清單,包含:總金額、總載貨量及其車款、總載人量及其車款

#三大分析

資料模型分析

業務模型分析

顯示與流程分析

實作效果##租車頁面

租車帳單

實作想法

  先定義一個Car類,它包含基本功能:車名、載客數、載貨量、每日租金。接著創建三個小類,分別是客車類、貨車類和皮卡類(既能載客又能載貨),它們都繼承

Car類。最後需要一個主類,用於開啟整個系統,呼叫每個小類。

實作程式碼

package com.jinger;
public abstract class Car {
 public int rent;//日租金
 public int people;//载客人数
 public int loads;//载货量
 public String name;//车名
public int getRent(){
 return rent;
}
public void setRent(int rent){
 this.rent=rent;
}
public int getPeople(){
 return people;
}
public void setPeople(int people){
 this.people=people;
}
public int getLoads(){
 return loads;
}
public void setLoads(int loads){
 this.loads=loads;
}
public String getName(){
 return name;
}
public void setName(String name){
 this.name=name;
}
}
客車類別
package com.jinger;
public class PassageCar extends Car{
 public PassageCar(String name,int people,int rent){
 this.setName(name);
 this.setPeople(people);
 this.setRent(rent);
 
 
 }
 
 public String toString(){
 return this.getName()+"\t"+this.getPeople()+"\t\t\t\t"+this.getRent();
 }
 }

卡車類別

package com.jinger;
public class Truck extends Car {
 public Truck(String name,int loads,int rent){
 this.setName(name);
 this.setLoads(loads);
 this.setRent(rent);
 }
 
 public String toString(){
 return this.getName()+"\t\t\t"+this.getLoads()+"\t\t"+this.getRent();
 }
 }

皮卡類別

package com.jinger;
public class Pickup extends Car {
 public Pickup(String name,int people,int loads,int rent){
 this.setName(name);
 this.setPeople(people);
 this.setLoads(loads);
 this.setRent(rent);
 }
 
 public String toString(){
 return this.getName()+"\t"+this.getPeople()+"\t\t"+this.getLoads()+"\t\t"+this.getRent();
 }
 }

主類別

package com.jinger;
import java.util.*;
public class Initial {
 public static void main(String[] args) {
 //对各类车实例化并保存到cars数组
 Car[] cars={
 new PassageCar("奥迪A4",4,500),
 new PassageCar("马自达6",4,400),
 new Pickup("皮卡雪6",4,2,450),
 new PassageCar("金龙",20,800),
 new Truck("松花江",4,400),
 new Truck("依维柯",20,1000)};
 System.out.println("****欢迎使用达达租车系统!****");
 System.out.println("****您确认租车吗?****"+"\n"+"是(请输入1) \t 否(请输入2)");
 
 Scanner in1=new Scanner(System.in);
 int is=in1.nextInt();
 if(is!=1){
 System.out.println("****欢迎下次光临!****");
 System.exit(0);
 }
 if(is==1){
 System.out.println("****您可租车的类型及价目表****");
 System.out.println("序号"+"\t车名"+"\t载客数(人)"+"\t载货量(吨)"+"\t日租金(元/天)");
 
 //使用循环方式将各类车输出
 for(int i=0;i<cars.length;i++){
 System.out.println((i+1)+"\t"+cars[i]);
 }
 
 
 
 System.out.println("****请输入您的租车数量:****");
 int num1=in1.nextInt();
 Car[] rentcar=new Car[num1];
 int price=0;//总价格
 int totalpeople=0;//总人数
 int totalloads=0;//总载货量
 
 for(int i=0;i<num1;i++){
 System.out.println("****请输入第"+(i+1)+"辆车的序号:****");
 int numx=in1.nextInt();
 rentcar[i]=cars[numx-1];
 
 }
 System.out.println("****请输入天数:****");
 int day=in1.nextInt();
 for(int i=0;i<num1;i++){
 price=price+rentcar[i].rent *day;
 }
 System.out.println("****您的账单:****");
 System.out.println("已选载人车:");
 for(int i=0;i<num1;i++){
 if(rentcar[i].people!=0){
  System.out.println(rentcar[i].name+"\t");
 }
 
 totalpeople=totalpeople+rentcar[i].people;
 }
 
 System.out.println(&#39;\n&#39;);
 System.out.println("已选载货车:");
 for(int i=0;i<num1;i++){
 if(rentcar[i].loads!=0){
  System.out.println(rentcar[i].name+"\t");
 }
  
 totalloads=totalloads+rentcar[i].loads;
 }
 
 
  System.out.println(&#39;\n&#39;);
  System.out.println("共载客:"+totalpeople+"人");
  System.out.println("共载货:"+totalloads+"吨");
  System.out.println("租车总价格:"+price+"元");
  System.out.println(&#39;\n&#39;);
  System.out.println("****感谢您的惠顾,欢迎再次光临!****");
 
 }
 }
 }

收穫

思路決定編碼。

程式設計要注重自頂而下、逐步求精的設計方法。

【相關推薦】

1.
Java免費影片教學

#2. 全面解析Java註解

##3.

FastJson教學手冊

#

以上是Java實現租車系統的詳細過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn