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

java第二季答答租车系统,参考大神代码作了改进

标签:
Java

定义了汽车抽象类,客车,货车,皮卡三个子类 。 放在zucheSystem包中
定义载客和载货两个接口。 放在Icar包中
最后一个实现类。 放在carSystem包中

欢迎大家一起改进讨论。

package zucheSystem;
//定义一个汽车抽象类
public abstract class CarStore {
    private String name;      
    private  double money;    
    private  int  id;          

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public double getMoney() {
        return money;
    }
    public void setMoney(double money) {
        this.money = money;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}
package zucheSystem;

import Icar.zaihuo;
//货车类
public class huoche extends CarStore implements zaihuo{

    private int newGood;

    public huoche(int id,String name,double money,int newGood){
    super.setId(id);
    super.setName(name);
    super.setMoney(money);
    this.setGood(newGood);  
    }

    @Override
    public void setGood( int newGood) {
        // TODO 自动生成的方法存根
        this.newGood=newGood;
    }

    @Override
    public int getGood() {
        // TODO 自动生成的方法存根
        return newGood;
    }

    //重写输出语句
    public String toString() {
        return  super.getId() + " \t" + super.getName() + "\t" + super.getMoney() + "元/天\t" + " " + "载货:" + this.getGood() + "吨";

    }

}
package zucheSystem;

import Icar.zaike;
//客车类
public class keche extends CarStore implements zaike{

    private int newPeople;

    public keche(int id,String name,double money,int newPeople){
        super.setId(id);
        super.setName(name);
        super.setMoney(money);
        this.setPeople(newPeople);
    }

    @Override
    public void setPeople(int newPeople) {
        // TODO 自动生成的方法存根
        this.newPeople=newPeople;
    }

    @Override
    public int getPeople() {
        // TODO 自动生成的方法存根
        return newPeople;
    }

    @Override
    //重写输出语句
    public String toString() {
        return super.getId() + "\t " + super.getName() + "\t" + super.getMoney() + "元/天\t" + " " + "载人:" + this.getPeople() + "人";
    }

}
package zucheSystem;

import Icar.zaihuo;
import Icar.zaike;
//皮卡类
public class pika extends CarStore implements zaike,zaihuo{

    private int newGood;
    private int newPeople;

    public pika (int id ,String name,double money,int newPeope,int newGood){
        super.setId(id);
        super.setName(name);
        super.setMoney(money);
        this.setPeople(newPeope);
        this.setGood(newGood);

}

    @Override
    public void setGood( int newGood) {
        // TODO 自动生成的方法存根
        this.newGood=newGood;
    }

    @Override
    public int getGood() {
        // TODO 自动生成的方法存根
        return newGood;
    }

    @Override

    public void setPeople(int newPeople) {
        // TODO 自动生成的方法存根
        this.newPeople=newPeople;
    }

    @Override
    public int getPeople() {
        // TODO 自动生成的方法存根
        return newPeople;
    }

    @Override
    //重写输出语句
    public String toString() {
        return super.getId() + "\t " + super.getName() + "\t" + super.getMoney() + "元/天\t" + " " + "载人"+this.getPeople()+"\t"+"载货:" + this.getGood() + "吨";
    }

}
package Icar;
//载货接口
public interface zaihuo {
    public void setGood(int n);
    public int getGood();
}
package Icar;
//载客接口
public interface zaike {
    public void setPeople(int n);
    public int getPeople();
}
package CarSystem;

import java.util.Scanner;

import zucheSystem.CarStore;
import zucheSystem.huoche;
import zucheSystem.keche;
import zucheSystem.pika;
//租车系统类
public class use {
    //初始化一个车库
    CarStore[] car={new keche(1,"奥迪A4",500,4),
                    new keche(2,"马自达",400,4),
                    new pika(3,"皮卡雪",450,4,20),
                    new keche(4,"金龙",800,20),
                    new huoche(5,"松花江",400,4),
                    new huoche(6,"依维柯",1000,20)
    };
    Scanner sc=new Scanner(System.in);
    public void useSysem(){
        System.out.println("欢迎使用答答租车系统: \n是否租车     1是         0否");
        int input=sc.nextInt();
        if(input==1){
            System.out.println("您可租车的类型和价目表:  "+"\n序号"+"\t"+"车名"+"\t"+"租金"+"\t"+ " \t"+"容量");
           for(int i=0;i<car.length;i++){
               System.out.println(car[i]);
           }

        }else if(input==0){System.out.println("欢迎下次光临!");
               System.exit(0);
        }else{System.out.println("输入有误!系统自爆程序已启动!");
                System.exit(0);}

        String outname=" ";      //车名
        double Rmbsum=0;        //租金总额
        int Goodsum=0;         //总载货量
        int Peoplesum=0;      // 总载客量

        System.out.println("请输入您要租车的数量:");
        int num=sc.nextInt();
        if(num==0||num<0){
            System.out.println("啪,你已经死了!");
            System.exit(0);
        }

        int count=1;
        int j;
        while(count<=num){
            do{
                //do-while循环判断输入是否正确。

                System.out.println("请输入第"+(count)+"辆车的序号:"+"\t"+"(温馨提示有效序号为1到"+car.length+")");
                j=sc.nextInt()-1;   
            }while(j>=car.length||j<0);

            //获得对应序号的车名,租金,容量
                if(car[j].getClass()==keche.class){
                     outname=car[j].getName();
                     System.out.println(outname);
                     Rmbsum=car[j].getMoney()+Rmbsum;
                     Peoplesum=((keche) car[j]).getPeople()+Peoplesum;
                }
                else if(car[j].getClass()==huoche.class){
                    outname=car[j].getName();
                     System.out.println(outname);
                     Rmbsum=car[j].getMoney()+Rmbsum;
                     Goodsum=Goodsum+((huoche)car[j]).getGood();
                }
                else if(car[j].getClass()==pika.class){
                    outname=car[j].getName();
                     System.out.println(outname);
                     Rmbsum=car[j].getMoney()+Rmbsum;
                     Goodsum=Goodsum+((pika)car[j]).getGood();
                     Peoplesum=((pika) car[j]).getPeople()+Peoplesum;
                }
        count++;

        }

        System.out.println("请输入您要租的天数:");
        int day=sc.nextInt();
        System.out.println("您的账单是:");
        System.out.println("载客数"+Peoplesum+"人"+"\n"+"载货量"+Goodsum+"吨"+"\n"+"总金额"+Rmbsum*day+"元");
        System.out.println("欢迎下次光临!");

        }

    //测试类
  public static void main(String[] args){

      use u=new use();
      u.useSysem();
      System.exit(0);

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

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消