为了账号安全,请及时绑定邮箱和手机立即绑定

Homework-答答租车系统

标签:
Java

定义两个interface(载货和载人)

package homework;
/*
 * 定义载货的接口
 */
public interface Cargo {
    int cargo=0;
    public int getCargo();
    public void setCargo(int cargo);    
}
package homework;
/*
 * 定义载人的接口
 */
public interface Passenger {
    int passenger=0;
    public int getPassenger();
    public void setPassenger(int passenger);
}

定义一个父类(包括了各元素和父类方法)

package homework;
/*
 * 定义汽车类别(父类)的序号、名字和价格;
 */
public class Carbasics {
    private int id;
    private String name;
    private int price;
/*
 * 封装属性 
 */
    public int getId() {
        return id;
    }
    public void setId(int id){
        this.id=id;
    }
    public String getName(){
        return name;        
    }
    public void setName(String name){
        this.name=name;
    }
    public int getPrice() {
        return price;
    }
    public void setPrice(int price){
        this.price=price;
    }
    public int getCargo() {
        return 0;
    }
    public void setCargo(int carog){
    }
    public int getPassenger() {
        return 0;
    }
    public void setPassenger(int passenger){
    }
    /*
     * 创建打印列表的父类方法
     */
    public void printList(){
    }
}

创建三个子类(载客车Car;载货车Truck;皮卡Pickup)

package homework;

public class Car extends Carbasics implements Passenger {
    /*
     * 构造方法,创建Car;
     */
     Car(int id,String name,int price,int passenger) {
        this.setId(id);
        this.setName(name);
        this.setPrice(price);
        this.setPassenger(passenger);
    }

    private int passenger;

    /*
     * 封装属性
     */
    @Override
    public int getPassenger() {
        // TODO Auto-generated method stub
        return passenger;
    }

    @Override
    public void setPassenger(int passenger) {
        this.passenger=passenger;
        // TODO Auto-generated method stub

    }
    /*
     * 重载父类方法打印列表
     */
    public void printList(){
        System.out.println(
                getId()+".\t"+getName()+"\t"+getPrice()+"元/天"+"\t"+
        "载人:"+getPassenger()+"人");
    }

}
package homework;

public class Truck extends Carbasics implements Cargo {
    /*
     * 构造方法,创建Truck;
     */
     Truck(int id,String name,int price,int cargo) {
        this.setId(id);
        this.setName(name);
        this.setPrice(price);
        this.setCargo(cargo);
    }

    private int cargo;
    /*
     * 封装属性
     */
    @Override
    public int getCargo() {
        // TODO Auto-generated method stub
        return cargo;
    }

    @Override
    public void setCargo(int cargo) {
        this.cargo=cargo;
        // TODO Auto-generated method stub

    }
    /*
     * 重载父类方法打印列表
     */
    public void printList(){
        System.out.println(
                getId()+".\t"+getName()+"\t"+getPrice()+"元/天\t"+
        "载货:"+getCargo()+"吨");
    }

}
package homework;

public class Pickup extends Carbasics implements Cargo,Passenger {
    /*
     * 构造方法,创建Car;
     */
     Pickup(int id,String name,int price,int passenger,int cargo) {
        this.setId(id);
        this.setName(name);
        this.setPrice(price);
        this.setPassenger(passenger);
        this.setCargo(cargo);
    }

    private int passenger;
    private int cargo;
    /*
     * 封装属性
     */
    @Override
    public int getPassenger() {
        // TODO Auto-generated method stub
        return passenger;
    }

    @Override
    public void setPassenger(int passenger) {
        this.passenger=passenger;
        // TODO Auto-generated method stub

    }

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

    @Override
    public void setCargo(int cargo) {
        this.cargo=cargo;
        // TODO Auto-generated method stub

    }
    /*
     * 重载父类方法打印列表
     */
    public void printList(){
        System.out.println(
                getId()+".\t"+getName()+"\t"+getPrice()+"元/天"+"\t"+
        "载人:"+getPassenger()+"人"+"载货:"+getCargo()+"吨");
    }

创建测试类如下:

package homework;

import java.util.Scanner;

public class Initiail {
    /*
     * 初始化输入对象
     */
    Scanner input=new Scanner(System.in);

    /*
     * 定义各车型
     */
    Carbasics[] cars={
    new Car(1,"奥迪A4",500,4),
    new Car(2,"马自达6",400,4),
    new Pickup(3,"皮卡雪6",450,4,2),
    new Car(4,"金龙",800,20),
    new Truck(5,"松花江",400,4),
    new Truck(6,"依维柯",1000,20),
    };
    /*
     * 欢迎语句
     */
     void mianSystem(){
        System.out.println("欢迎使用答答租车系统:\n您是否要租车:1是 0否");
        int num=input.nextInt();
        if(num==1){
            System.out.println("您可租车的类型及其价目表:\n序号"+"\t"+"汽车名称"+"\t"+"租金"+"\t"+"容量");            
        for(int i = 0;i<cars.length;i++){
            cars[i].printList();
        }       
        }else{
            System.out.println("感谢您使用答答租车系统!");
        }
        /*
         * 获取需要租入的车辆数量、序号以及天数;
         */
        System.out.println("请输入您要租的汽车数量");
        num=input.nextInt();
        int[] selectNum=new int[num];
        for(int i=0;i<num;i++){
            int j=i+1;
            System.out.println("请输入第"+j+"辆车的序号:");
            selectNum[i]=input.nextInt();
        }
        System.out.println("请输入租车天数");
        int day=input.nextInt();

        /*
         * 输出可载人车辆的清单及可载人数
         */
        System.out.println("您的账单:\n***可载人的车有:");
        int pessengerSum=0;
        for(int i=0;i<num;i++){
            int j=selectNum[i]-1;
            int pessengerNum=cars[j].getPassenger();
            if(pessengerNum>0){
                System.out.print(cars[j].getName()+"\t");
            }
            pessengerSum+=pessengerNum;
        }
        if(pessengerSum>0){
            System.out.println("共载人:"+pessengerSum+"人");
        }else{
            System.out.println("抱歉!您选中的车辆中没有可载人的车辆!");
        }

        /*
         * 输出可载货车辆的清单及可载吨数
         */
        System.out.println("***可载货的车有:");
        double cargoSum=0;
        for(int i=0;i<num;i++){
            int j=selectNum[i]-1;
            int cargoNum=cars[j].getCargo();
            if(cargoNum>0){
                System.out.print(cars[j].getName()+"\t");
            }
            cargoSum+=cargoNum;
        }
        if(cargoSum>0){
            System.out.println("共载货:"+cargoSum+"吨");
        }else{
            System.out.println("抱歉!您选中的车辆中没有可载货的车辆!");
        }

        /*
         * 输出总价款
         */
        double priceSum=0;
        for(int i=0;i<num;i++){
            int j=selectNum[i]-1;
            int priceNum=cars[j].getPrice();
            priceSum=priceSum+priceNum*day;
        }
        System.out.println("***租车总价格:"+priceSum+"元");
    }
        /*
         * 运行程序方法
         */
    public static void main(String[] args) {
        Initiail cr=new Initiail();
        cr.mianSystem();
        // TODO Auto-generated method stub

    }

}
点击查看更多内容
30人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消