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

达达租车系统(借鉴了他人的代码)

慕粉3812064
关注TA
已关注
手记 1
粉丝 1
获赞 21
package java入门第二季达达租车系统;

public class Car {
    public String name;//汽车名称
    public int price;//汽车租金
    public int ren;//载人数
    public int huo;//载货数

    public Car(String name, int price) {
        super();
        this.name = name;
        this.price = price;
    }
    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 getRen() {
        return ren;
    }
    public void setRen(int ren) {
        this.ren = ren;
    }
    public int getHuo() {
        return huo;
    }
    public void setHuo(int huo) {
        this.huo = huo;
    }

}

载人的车

package java入门第二季达达租车系统;

public class PersonCar extends Car{

    public PersonCar(String name, int price,int ren) {
        super(name, price);
        this.ren=ren;
    }

    public String toString(){
        return this.name+"\t"+this.price+"元/天"+"\t"+"载人:"+this.ren+"人";
    }

}

载货的车

package java入门第二季达达租车系统;

public class HuoCar extends Car{

    public HuoCar(String name, int price,int huo) {
        super(name, price);
        this.huo=huo;
    }

    public String toString(){
        return this.name+"\t"+this.price+"元/天"+"\t"+"载货:"+this.huo+"吨";
    }

}

皮卡

package java入门第二季达达租车系统;

public class PkCar extends Car{

    public PkCar(String name, int price,int ren,int huo) {
        super(name, price);
        this.ren=ren;
        this.huo=huo;
    } 

    public String toString(){
        return this.name+"\t"+this.price+"元/天"+"\t"+"载人:"+this.ren+"人"+" 载货:"+this.huo+"吨";
    }

}

主函数


package java入门第二季达达租车系统;

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
    while(true) {//使循环
        System.out.println("欢迎使用达达租车系统:");
        System.out.println("您是否要租车: 1是  0否");
        int s = sc.nextInt();

        if(s==1){
            System.out.println("您可租车的类型及其价目表:");
            System.out.println("序号                汽车名称        租金              容量");
//          Car c1 = new PersonCar("奥迪A4",500,4);
//          Car c2 = new PersonCar("马自达6",400,4);
//          Car c3 = new PkCar("皮卡雪6",450,4,2);
//          Car c4 = new PersonCar("金龙",800,20);
//          Car c5 = new HuoCar("松花江",400,4);
//          Car c6 = new HuoCar("依维柯",1000,20);
            //定义Car数组,并实例化对象
            Car[] cars ={ new PersonCar("奥迪A4",500,4),
                          new PersonCar("马自达6",400,4),
                          new PkCar("皮卡雪6",450,4,2),
                          new PersonCar("金龙",800,20),
                          new HuoCar("松花江",400,4),
                          new HuoCar("依维柯",1000,20)};
            for(int i=0;i<cars.length;i++){
                System.out.println((i+1)+"\t"+cars[i]);
            }

            System.out.println("请输入您要租车的数量:");
            int num = sc.nextInt();

            //定义相关变量来存放数据
            Car[] carList = new Car[num];//创建一个新的数组来接收选择出来的车;数量是num
            int rens = 0;//用来记录人数
            int huos = 0;//用来记录货物数量
            int prices = 0;//用来记录总价格
            //遍历循环输出要租车的序号
            for(int i=0;i<num;i++){
                System.out.println("请输入第"+(i+1)+"辆车的序号");
                int xun= sc.nextInt();
                carList[i]  = cars[xun-1];//将车的序列赋值给数组carList
                prices += carList[i].getPrice(); //
            }
            //输出租车天数
            System.out.println("请输入租车天数:");
            int tian = sc.nextInt();
            prices = prices*tian;
            System.out.println("---------------");

            System.out.println("您的账单:");
            System.out.println("***可载人的车有:");
            //遍历循环查询可载人的车
            for(int i=0;i<num;i++){
                //如果车是PersonCar 和PkCar都可以载人
                if(carList[i] instanceof PersonCar || carList[i] instanceof PkCar){
                    rens = rens+carList[i].getRen();
                    System.out.print(carList[i].getName()+"\t");
                }   
            }
            System.out.println("共载人:"+rens+"人");
            System.out.println("***可载货的车有:");
            //遍历循环查询可载货的车
            for(int i=0;i<num;i++){
                if(carList[i] instanceof HuoCar || carList[i] instanceof PkCar){
                    huos = huos+carList[i].getHuo();
                    System.out.print(carList[i].getName()+"\t");
                }
            }
            System.out.println("共载货:"+huos+"吨");
            System.out.println("***租车的总价格:"+prices+"元");
            return;
        }else if(s==0){
            System.out.println("欢迎下次再来");
            return;
        }else {
            System.out.println("您的输入有误");
        }
    }

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

热门评论

写着是个啥,看得我一脸萌币

看了五六个,就这个和我思路一样,这样做有诸多好处

主函数中//遍历循环输出要租车的序号。那个地方要捕捉处理数组脚标越界的异常。

查看全部评论