继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

neko白酱
关注TA
已关注
手记 1
粉丝 1
获赞 44

定义了汽车抽象类,客车,货车,皮卡三个子类 。 放在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);

}
}
打开App,阅读手记
39人推荐
发表评论
随时随地看视频慕课网APP

热门评论

你的容量这里有问题,租车价目表皮卡车这里你就显示不了,容量列表全显示为0,而且载客数和载货量不能计算

可惜只能算一个,计算不了总量


运行结果算不出载客总数和总重量呢.


查看全部评论