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

Java入门第二季6.1项目代码

标签:
Java

完成了项目要求的展示内容,并没有做进一步的完善,以下代码仅供参考
父类Cars:

//车的序号、名称、租金、载货量、载客量
public class Cars {
    public String carsname;//名称
    public int id,personLoad;//序号、载客量
    public double carsrental,goodLoad;  //租金、载货量
}

子类客车Bus:

//车的子类--客车,设置客车的序号、名称、租金、载客量
public class Bus extends Cars {
    public Bus(int id,String carsname,double carsrental,int personLoad){  //客车子类的构造方法
        this.id=id;
        this.carsname=carsname;
        this.carsrental=carsrental;
        this.personLoad=personLoad;
    }
}

子类货车Truck:

//车的子类--货车,设置货车的序号、名称、租金、载货量
public class Truck extends Cars {
    public Truck(int id,String carsname,double carsrental,int goodLoad){  //货车子类的构造方法
        this.id=id;
        this.carsname=carsname;
        this.carsrental=carsrental;
        this.goodLoad=goodLoad;
    }
}

子类皮卡PickUp:

//车的子类--皮卡,设置客车的序号、名称、租金、载客量、载货量
public class PickUp extends Cars {
    public PickUp(int id,String carsname,double carsrental,int personLoad,double goodLoad){  //皮卡子类的构造方法
        this.id=id;
        this.carsname=carsname;
        this.carsrental=carsrental;
        this.personLoad=personLoad;
        this.goodLoad=goodLoad;
    }
}

答答租车系统:

import java.util.Scanner;

public class Users {
    static int carsnum,carsday,allpersons; //static静态变量保证类内的所有对象都能使用该成员变量,分别是租车的数量、天数和总载客量
    static double allgoods,allmoney;//总载货量、总价
    static int[] carsid; //车的序号
    //创建一个数组并初始化,数组类型是父类Cars的各子类的对象
    static Cars[] carsForRent={new Bus(1,"奥迪A4",500,4),new Bus(2,"马自达6",400,4),new PickUp(3,"皮卡雪",450,4,2),new Bus(4,"金龙",800,20),new Truck(5,"松花江",400,4),new Truck(6,"依维柯",1000,20)};
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Users user=new Users();
        user.isUsed();
        carsnum=user.carsRentNum();
        carsid=new int[carsnum]; //用户输入的需要租车的数量即为数组的长度
        for(int i=1;i<=carsnum;i++){
            System.out.println("请输入第"+i+"辆车的序号");
            carsid[i-1]=user.carsRentID();
        }                        //用户需要租车的类型序号存入数组中
        carsday=user.carRentDays();
        user.displayBill();

    }
    //是否使用答答租车系统,若使用,则打印租车类型及价目表;若使用,则退出
    void isUsed(){
        System.out.println("欢迎使用答答租车系统\n");
        System.out.println("您是否要租车:(1 是 0 否)"); 
        Scanner input=new Scanner(System.in);
        int inputnum=input.nextInt();
        if(inputnum==1){
            System.out.println("您可租车的类型及其价目表:\n"+"序号\t"+"汽车名称\t"+"租金\t"+"容量\t");
            for(Cars carsForUser:carsForRent){
                if(carsForUser.getClass()==Bus.class){
                    System.out.println(carsForUser.id+".\t"+carsForUser.carsname+"\t"+carsForUser.carsrental+"元/天\t"+"载人:"+carsForUser.personLoad+"人"+"\n");
                }
                else if(carsForUser.getClass()==Truck.class){
                    System.out.println(carsForUser.id+".\t"+carsForUser.carsname+"\t"+carsForUser.carsrental+"元/天\t"+"载货:"+carsForUser.goodLoad+"吨"+"\n");  
                }
                else if(carsForUser.getClass()==PickUp.class){
                    System.out.println(carsForUser.id+".\t"+carsForUser.carsname+"\t"+carsForUser.carsrental+"元/天\t"+"载人:"+carsForUser.personLoad+"人\t"+"载货:"+carsForUser.goodLoad+"吨"+"\n");   
                }
            }
        }else{
            System.exit(0);
        }
    }
    //用户需要租车的数量
    int carsRentNum(){
        System.out.println("请输入您要租汽车的数量:");
        Scanner input=new Scanner(System.in);
        int inputnum=input.nextInt();
        return inputnum;        
    }
    //用户需要哪辆车,输入对应车型的序号
    int carsRentID(){
        Scanner input=new Scanner(System.in);
        int inputnum=input.nextInt();
        return inputnum;
    }
    //用户需要租车的天数
    int carRentDays(){
        System.out.println("请输入租车天数:");
        Scanner input=new Scanner(System.in);
        int inputnum=input.nextInt();
        return inputnum;
    }
    //打印用户的账单
    void displayBill(){
        StringBuilder str_person=new StringBuilder();
        StringBuilder str_goods=new StringBuilder();
        for(int id:carsid){
            for(Cars carsForUser:carsForRent){
                if(carsForUser.id==id){
                    allmoney+=carsForUser.carsrental;//
                    if(carsForUser.getClass()==Bus.class){
                        str_person.append(carsForUser.carsname+" ");
                        allpersons+=carsForUser.personLoad;
                    }
                    if(carsForUser.getClass()==Truck.class){
                        str_goods.append(carsForUser.carsname+" ");
                        allgoods+=carsForUser.goodLoad;
                    }
                    if(carsForUser.getClass()==PickUp.class){
                        str_person.append(carsForUser.carsname+" ");
                        str_goods.append(carsForUser.carsname+" ");
                        allpersons+=carsForUser.personLoad;
                        allgoods+=carsForUser.goodLoad;
                    }
                }
            }
        }
        System.out.println("您的账单:\n"+"***可载人的车有:\n"+str_person.toString()+"\t共载人:"+allpersons+"人\n");
        System.out.println("***可载货的车有:\n"+str_goods.toString()+"\t共载货:"+allgoods+"吨\n");
        System.out.println("***租车总价格:"+allmoney*carsday+"元\n");

    }
}

在Eclipse中运行即可。
图片描述

图片描述

点击查看更多内容
15人点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消