第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

答答租車系統(tǒng),代碼還是寫的有點(diǎn)丑和不良,希望自己能再接再厲

標(biāo)簽:
Java

抽象类 Car类

package com.dada.carrental.carclass;

public abstract class Car {
    public int num;
    public String name;
    public float dayRent;

    abstract public void print();

    public Car(int num, String name, float dayRent) {
        super();
        this.num = num;
        this.name = name;
        this.dayRent = dayRent;
    }
}

载货接口

package com.dada.carrental.carclass;

public interface ICarryCargo {
    public abstract float carryCargo();
}

载客接口

package com.dada.carrental.carclass;

public interface ICarryPeople {
    public abstract int carryPeople();
}

客车类

package com.dada.carrental.carclass;

public class PassengerCar extends Car implements ICarryPeople {

    public int peopleLoad = 0;
    public PassengerCar(int num, String name, float dayRent,int people) {
        super(num, name, dayRent);
        this.peopleLoad = people;
    }

    @Override
    public int carryPeople() {
        return this.peopleLoad;
    }

    @Override
    public void print() {
        System.out.println(num + ".\t" + name + "\t" + (int)dayRent +"元/天\t载人:" + peopleLoad + "人");
    }

}

货车类

package com.dada.carrental.carclass;

public class Truck extends Car implements ICarryCargo {

    public float cargoLoad = 0.0f;
    public Truck(int num, String name, float dayRent,float cargo) {
        super(num, name, dayRent);
        this.cargoLoad = cargo;
    }

    @Override
    public float carryCargo() {
        return this.cargoLoad;
    }

    @Override
    public void print() {
        System.out.println(num + ".\t" + name + "\t" + (int)dayRent +"元/天\t载货:" + (int)cargoLoad + "吨");
    }

}

皮卡类

package com.dada.carrental.carclass;

public class Pickup extends Car implements ICarryCargo, ICarryPeople {

    public int peopleLoad = 0;
    public float cargoLoad = 0.0f;
    public Pickup(int num, String name, float dayRent,int people,float cargo) {
        super(num, name, dayRent);
        this.peopleLoad = people;
        this.cargoLoad = cargo;
    }

    @Override
    public int carryPeople() {
        return this.peopleLoad;
    }

    @Override
    public float carryCargo() {
        return this.cargoLoad;
    }

    @Override
    public void print() {
        System.out.println(num + ".\t" + name + "\t" + (int)dayRent +"元/天\t载人:" + peopleLoad + "人\t载货:" + (int)cargoLoad + "吨");
    }

}

在一个新的类里创建所有车的实例

package com.dada.carrental.cardata;

import com.dada.carrental.carclass.*;

public class CarData {
    public Car car1 = new PassengerCar(1, "奥迪A4", 500, 4);
    public Car car2 = new PassengerCar(2, "马自达6", 400, 4);
    public Car car3 = new Pickup(3, "皮卡雪6", 450, 4, 2.0f);
    public Car car4 = new PassengerCar(4, "金龙", 800, 20);
    public Car car5 = new Truck(5, "松花江", 400, 4.0f);
    public Car car6 = new Truck(6, "依维柯", 1000, 20);

}

系统类

package com.dada.carrental;

import java.util.Scanner;

import com.dada.carrental.carclass.*;
import com.dada.carrental.cardata.*;

class MainSystem {

    static Scanner scanner = new Scanner(System.in);

    static CarData data = new CarData();
    static Car[] allCars = {data.car1,data.car2,data.car3,data.car4,data.car5,data.car6};

    public static void main(String[] args) {
        System.out.println("欢迎使用答答租车系统");
        System.out.println("您是否要租车:1是  0否");
        start();
    }

    //入口方法
    static void start() {
        int userPrint = scanner.nextInt();
        //检测输入的是否是0或1,若不是,报错并重新输入
        while (!(userPrint == 1||userPrint ==0)) {
            System.out.println("输入错误,请重新输入");
            userPrint = scanner.nextInt();
        }
        //检测用户输入的是1还是0,分支进行
        switch (userPrint) {
        case 1:
            System.out.println("您可租车的类型及其价目表:");
            System.out.println("序号\t汽车名称\t租金\t容量");
            printData(allCars);
            createNotice();
            break;
        case 0:
            System.out.println("退出程序");
        default:
            break;
        }
    }

    static void printData(Car[] cars) {
        for (Car car : cars) {
            car.print();
        }
    }

    static void createNotice() {
        int selectDays;
        System.out.println("请输入您要租车的数量:");
        int num = scanner.nextInt();
        Car[] selectedCars = new Car[num];
        for (int i = 0; i < num; i++) {
            System.out.println("请输入第" + (i+1) + "辆车的序号:");
            selectedCars[i] = allCars[scanner.nextInt()-1];
        }
        System.out.println("请输入租车天数:");
        selectDays = scanner.nextInt();
        Notice end = new Notice(selectedCars);
        end.printNotice(selectDays, selectedCars);
    }
}

详单类

package com.dada.carrental;

import com.dada.carrental.carclass.*;

class Notice {
    int totalPeopleLoad;
    float totalCargoLoad;
    float dayTotalRent;

    Notice(Car[] cars) {
        for (Car car : cars) {
            if (car instanceof ICarryPeople) {
                totalPeopleLoad += ((ICarryPeople) car).carryPeople();
            }
            if (car instanceof ICarryCargo) {
                totalCargoLoad += ((ICarryCargo) car).carryCargo();
            }
            dayTotalRent += car.dayRent;
        }
    }

    public void printNotice(int days,Car[] cars) {
        System.out.println("您的账单:");
        System.out.println("***可载人的车有:");
        for (Car car : cars) {
            if (car instanceof ICarryPeople) {
                System.out.print(car.name + "\t");
            }
        }
        System.out.println("共载人:" + totalPeopleLoad + "人");
        System.out.println("***载货的车有:");
        for (Car car : cars) {
            if (car instanceof ICarryCargo) {
                System.out.print(car.name + "\t");
            }
        }
        System.out.println("共载货:" + totalCargoLoad + "吨");
        float totalRent = dayTotalRent * days;
        System.out.println("***租车总价格" + totalRent +"元");
    }
}
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消