Java學習筆記——好記性不如爛鍵盤(答答租車系統)*內有源碼

根據所學知識,編寫一個控制臺版的租車系統
功能:1、 展示所有可租車輛
2、 選擇車型、租車輛
3、 展示租車清單,包含:總金額、總載貨量及其車型、總載人量及其車型
代碼參考imooc中[JavaEE]課程Demo編寫
父類Car:

package com.RentCar;
 
public class Car {
    String name; 
    int money; 
    int people; 
    int goods; 
    public String getName() { 
        return name; 
        } 
    public int getMoney() { 
        return money; 
        } 
    public int getPeople() {
        return people; 
        } 
    public int getGoods() { 
        return goods; 
        } 
}

Car 的子類——載人汽車CarPeople:

package com.RentCar;
 
public class CarPeople extends Car{
    String name; 
    int money; 
    int people; 
    public CarPeople(String name,int money,int people){ 
        this.name = name; 
        this.money = money; 
        this.people = people; 
        } 
    @Override
    public String toString() { 
        return this.name + "" + this.money + this.people; 
        } 
    public String getName() { 
        return name; 
        } 
    public int getMoney() {
        return money; 
        } 
    public int getPeople() { 
        return people; 
        }
}

Car 的子類——載貨汽車CarGoods:

package com.RentCar;
 
public class CarGoods extends Car {
    String name; 
    int money; 
    int goods; 
    public CarGoods(String name,int money,int goods){ 
        this.name = name; 
        this.money = money; 
        this.goods = goods; 
        } 
    @Override
    public String toString() {
        return this.name + this.money + this.goods;
        } 
    public String getName() { 
        return name; 
        } 
    public int getMoney() { 
        return money; 
        } 
    public int getGoods() { 
        return goods; 
        }
}

Car 的子類——載人載貨CarAll:

package com.RentCar;
 
public class CarAll extends Car {
    String name; 
    int money; 
    int people; 
    int goods; 
    public CarAll(String name,int money,int people,int goods){ 
        this.name = name; 
        this.money = money; 
        this.people = people; 
        this.goods = goods; 
        } 
    @Override
    public String toString() { 
        return this.name + this.money + this.people + this.goods; 
        } 
    public String getName() { 
        return name; 
        } 
    public int getMoney() { 
        return money; 
        } 
    public int getPeople() { 
        return people; 
        } 
    public int getGoods() { 
        return goods;
        }
}

主函數:

package com.RentCar;
import java.util.Scanner; 
 
 
public class CarRentingSystem {
 
    public static void main(String[] args) {
        // TODO 自動生成的方法存根
        while (true) { 
            System.out.println("你到底要不要租虎哥的車?(租/不租)");
            Scanner scanner = new Scanner(System.in); 
            String input = scanner.next(); 
            if(input.equals("租")){ 
                Car[] cars = {new CarPeople("奧迪A4",400,4),new CarPeople("馬自達",400,4),new CarAll("皮卡6",450,4,20), new CarPeople("金龍",800,20), new CarGoods("松花江",400,4),new CarGoods("依維柯",1000,20)
                        }; 
                System.out.println("下面是您能租的車:"); 
                System.out.println("序號 品牌 價格 載人/貨量"); 
                for(int i = 0;i < cars.length;i++){ 
                    System.out.printf("%-3d %-6s% 6d %3d個人,%d噸貨",i+1,cars[i].getName(),cars[i].getMoney(),cars[i].getPeople(),cars[i].getGoods()); 
                    } 
                System.out.println("你想要租幾輛啊:"); 
                int number = scanner.nextInt(); 
                Car[] chooseCars = new Car[number]; 
                Car[] chooseCarsPeople = new Car[number]; 
                int CCPNum = 0;//選擇的載人汽車的數目
                Car[] chooseCarsGoods = new Car[number]; 
                int CCGNum = 0;//選擇的載貨汽車的數目 
                //定義總共的錢數,載客量,載貨量 
                int money = 0; 
                int people = 0; 
                int goods = 0; 
                for(int i = 0,j = 1;i < number;i++,j++){ 
                    System.out.println("請輸入第" + j + "輛車的序號:"); 
                    int carNum = scanner.nextInt() - 1; 
                    try { chooseCars[i] = cars[carNum]; 
                    money += chooseCars[i].getMoney(); 
                    people += chooseCars[i].getPeople(); 
                    goods += chooseCars[i].getGoods(); 
                    if(chooseCars[i].getPeople() != 0){ 
                        chooseCarsPeople[CCPNum] = chooseCars[i]; CCPNum++; 
                        } 
                    if(chooseCars[i].getGoods() != 0){ 
                        chooseCarsGoods[CCGNum] = chooseCars[i]; CCGNum++; 
                        } 
                    } 
                    catch (Exception e) { 
                        System.out.println("說了幾遍了,輸入1~6的序號!\n"); i--; j--; 
                        } 
                    } 
                System.out.println("你想要租幾天啊:");
                int dayNum = scanner.nextInt(); 
                System.out.printf("你一共花了:%d元\n您總共租了%d輛車,租賃%d天\n",money*dayNum,number,dayNum); 
                System.out.println("其中,載人的車有" + CCPNum + "輛"); 
                try { for(Car CarsPeople:chooseCarsPeople){ 
                    System.out.println(CarsPeople.getName()); 
                    } 
                } 
                catch (Exception e) { 
 
                } 
                System.out.printf("總載客量:%d人\n",people*dayNum); 
                System.out.println("載貨的車有" + CCGNum + "輛"); 
                try { for(Car CarsGoods:chooseCarsGoods){ 
                    System.out.println(CarsGoods.getName()); 
                    } 
                }
                catch (Exception e) { } 
                System.out.printf("總載貨量:%d噸\n",goods*dayNum); 
                break; 
                }
            else if(input.equals("不租")){
                System.out.println("不租你過來干嘛!"); 
                break; 
                }
            else { 
                System.out.println("你輸錯了大兄弟!\n"); 
                } 
            } 
        System.out.println("慢走不送!");
            }
    }
Paste_Image.png
Paste_Image.png

關注作者獲取更多資料。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,559評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,442評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,835評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,581評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,922評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,096評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,639評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,374評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,591評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,789評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,196評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,524評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,322評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,554評論 2 379

推薦閱讀更多精彩內容