答答租車系統(第一次寫)大家交流一下

ciscopuke發表於2021-09-09

本程式參考了手記中很多朋友的程式碼,對各位朋友,與imooc的老師表示感謝。

先說一下自己目前認為不足之處:
1、整個實現程式幾乎全部在mai函式下,沒有對程式進行分塊編寫。
2、備註不是很詳細

Car類

package com.chen;

public class Car implements ICarryPassage,ICarryGoods{

protected   int id;//宣告車的序號
protected  String name;//宣告車名
protected   int RentFee;//宣告租車費用

/*
 *變數初始化
 */
public Car (int newid,String newname,int newRentFee){

    this.id=newid;
    this.name=newname;
    this.RentFee=newRentFee;

}

 /*
  * 設定 獲得屬性的方法
  */
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public int getRentFee() {
    return RentFee;
}
public void setRentFee(int rentFee) {
    RentFee = rentFee;
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
/*
 *顯示
 */
    public void show(){
        System.out.println("汽車資訊為name:"+name+"RentFee:"+RentFee+"Id:"+id);
    }

@Override
public int getGoods() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public void setGoods(int newgoods) {
    // TODO Auto-generated method stub

}

@Override
public int getPerson() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public void setPerson(int newperson) {
    // TODO Auto-generated method stub

}

}

汽車類

package com.chen;

public class PassageCar extends Car implements ICarryPassage {

/*
 * 宣告載人人數
 */
    private int person;

    /*
     *變數初始化
     */

    public PassageCar(int newid, String newname, int newRentFee,int newperson) {
        super(newid, newname, newRentFee);
        // TODO Auto-generated constructor stub
        this.setPerson(newperson);
    }

    public int getPerson() {
        return person;
    }

    public void setPerson(int person) {
        this.person = person;
    }

    public void show(){
        System.out.println("序號:"+this.getId()+"  汽車資訊為 車名:"+this.getName()+"  每日租金:"+this.getRentFee()+"  最大載人人數"+this.getPerson());
    }

}

貨車類

package com.chen;

public class truck extends Car implements ICarryGoods {

    private int goods;//宣告變數載貨量

    public truck(int newid, String newname, int newRentFee,int newgoods) {
        super(newid, newname, newRentFee);
        // TODO Auto-generated constructor stub
        this.goods=newgoods;
    }

    @Override
    public int  getGoods() {
        // TODO Auto-generated method stub
        return goods;
    }

    @Override
    public void setGoods(int newgoods) {
        // TODO Auto-generated method stub
        this.goods=newgoods;
    }

    public void show(){
        System.out.println("序號:"+this.getId()+"汽車資訊為 車名:"+this.getName()+"每日租金:"+this.getRentFee()+"最大載貨量"+this.getGoods());
    }

}

皮卡類

package com.chen;

public class PickUpTruck extends Car {

    private int goods;//宣告變數載貨量
    private int person;//宣告最大載人數

    public PickUpTruck(int newid, String newname, int newRentFee,int newperson,int newgoods) {
        super(newid, newname, newRentFee);
        // TODO Auto-generated constructor stub
        this.goods=newgoods;
        this.person=newperson;
    }

    public int getGoods() {
        return goods;
    }

    public void setGoods(int goods) {
        this.goods = goods;
    }

    public int getPerson() {
        return person;
    }

    public void setPerson(int person) {
        this.person = person;
    }

    public void show(){
        System.out.println("序號:"+this.getId()+"汽車資訊為 車名:"+this.getName()+"每日租金:"+this.getRentFee()+"最大載人人數"+this.getPerson()+"最大載貨量(噸):"+this.getGoods());
    }

}

載貨介面

package com.chen;
/*
 * 介面
 * 可載貨重量  單位噸
 */
public interface ICarryGoods {
    int goods=0;
    int  getGoods();
    void setGoods(int newgoods);

}

載人介面

package com.chen;
/*
 * 介面
 * 可載人人數
 */
public interface ICarryPassage {

    int person=0;
    int  getPerson();
    void setPerson(int newperson);
}

實現函式

package com.chen;
import java.util.Scanner;
public class Tset {

    /**
     * //每次最多租車10輛
     * a    1進入系統0退出
     * num  租車數量
     * Car[]  車輛列表陣列
     * day    租車天數,預設0
     * rentNum[]   所租車的序號
     * 
     * 
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
while(true){
        //定義車
        Car[] car={
            new PassageCar(1,"奧迪A4",500,4), 
            new PassageCar(2,"馬自達6",400,4),
            new PickUpTruck(3,"皮卡雪6",450,4,2),
            new PassageCar(4,"金龍",800,20),
            new truck(5,"松花江",400,4),
            new truck(6,"依維柯",1000,20)  
        };  
        //主介面
        System.out.println("歡迎您使用答答租車系統:");
        System.out.println("是否要租車:1是 0否");
        Scanner in =new Scanner(System.in);
        int a=in.nextInt();
        if(a==1){
            System.out.println("您可租車的型別及其價目:");
            System.out.println("序號   汽車名稱   租金  容量");

            for(int i=0;i0){
                    System.out.print(car[rentNum[i]].getName()+"t");
                    sumPerson+=car[rentNum[i]].getPerson();
                }
            }
            System.out.println("總載客量為:"+sumPerson+"人");

            /*
             *計算載貨量與總租金 
             */
            System.out.println("***可載貨的車有:");
            for(int i=0;i0){
                    System.out.print(car[rentNum[i]].getName()+"t");
                    sumGoods+=car[rentNum[i]].getGoods();
                }//計算載貨量

                sumRentFee+=car[rentNum[i]].getRentFee();

            }
            System.out.println("總載貨量為:"+sumGoods+"噸");

        System.out.println("租車時間為:"+day+"天");
        System.out.println("租車的總價格為:"+sumRentFee*day+"元");

        }

        //輸入a等於0,退出
        else if(a==0){
            System.out.println("byebye!");
        }

        //輸入a既不等於0,也不等於1
        else {
            System.out.println("輸入有誤,請重新輸入。");
        }
}
}

}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4369/viewspace-2798043/,如需轉載,請註明出處,否則將追究法律責任。

相關文章