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

java入门第二季<---->答答租车系统v1.0(希望多多交流,给出修改意见)

一、创建汽车父类Car

package FirstProject;
public class Car {
public String name;
public float price;
public int person;
public float goods;
/*public Car(String name,float price){
this.name = name;
this.price = price;     
}*/
public int getPerson(){
return this.person;
}
public void setPerson(int person){
this.person = person;
}
public float getGoods(){
return this.goods;
}
public void setGoods(float goods){
this.goods = goods;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public float getPrice(){
return this.price;
}
public void setPrice(float price){
this.price = price;
}
}

二、创建客车子类Coach

package FirstProject;

public class Coach extends Car {
    public Coach(String name,float price,int person){
        //super(name,price);
        this.person = person;
        this.name = name;
        this.price = price;
    }
    public String toString(){
        return this.name+"\t"+this.price+"元/天"+"\t"+"载人:"+
                this.person+"人";
    }

}

三、创建货车子类Trcuk

package FirstProject;

public class Trcuk extends Car {
    public Trcuk(String name,float price,float goods){
        //super(name,price);
        this.goods = goods;
        this.name = name;
        this.price = price;
    }
    public String toString(){
        return this.name+"\t"+this.price+"元/天"+"\t"+"载货:"+
        this.goods+"吨";
    }
}

四、创建皮卡子类Pickup

package FirstProject;

public class Pickup extends Car{
    public Pickup(String name,float price,int person,float goods){
        //super(name,price);
        this.person = person;
        this.goods = goods;
        this.name = name;
        this.price = price;
    }
    public String toString(){
        return this.name+"\t"+this.price+"元/天"+"\t"+
          "载客:"+this.person+"人"+'\t'+"载货:"+this.goods+"吨";
    }

}

五、创建封装操作类Rent

package FirstProject;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Rent {
public void run(){
while(true){ 
System.out.println("欢迎使用达达租车系统:");  
System.out.println("您是否要租车: 1是 0否");
try{ 
Scanner a = new Scanner(System.in);
int s = a.nextInt();
//定义汽车数组
Car[] cars ={new Coach("奥迪A4",500,4),
new Coach("马自达6",400,4),
new Pickup("皮卡雪6",450,4,2),
new Coach("金龙",800,20),
new Trcuk("松花江",400,4),
new Trcuk("依维柯",1000,20)};
if(s==1){
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号"+"\t"+"汽车名称"+"\t"+"租金"+"\t\t"+"容量"+"\t");
for(int i=0;i<cars.length;i++){
System.out.println((i+1)+"\t"+cars[i]);
}
System.out.println("请输入您要租车的数量");
int b = a.nextInt();
Car[] carn = new Car[b];//定义新的数组存放车辆
float price=0;
for(int i=0;i<b;i++){
System.out.println("请输入第"+(i+1)+"辆的序号");
int x = a.nextInt();
carn[i] = cars[x-1];//将cars数组中车辆信息赋值carn数组。
price += carn[i].getPrice();//遍历循环要租的车辆,然后每辆车获取的价格累加,获取一天租车所需的总金额。
}
System.out.println("请输入租车天数");
int y = a.nextInt();
float sum = y*price;//总价格
System.out.println("您的账单:");
int person=0;//定义载人量
System.out.println("***可载人的车有:");
for(int i=0;i<b;i++){//循环遍历新数组中车辆信息,找到可载人的车辆。
if(carn[i] instanceof Coach||carn[i] instanceof Pickup){
person = person + carn[i].getPerson();
System.out.println(carn[i].getName()+"\t"+"x"+carn[i].getPerson());
}
}
System.out.println("共载人:"+person+"人");
float goods=0;//定义载货量
System.out.println("***可载货的车有:");
for(int i=0;i<b;i++){//循环遍历新数组中车辆信息,找到可载货的车辆。
if(carn[i] instanceof Trcuk||carn[i] instanceof Pickup){
goods += goods + carn[i].getGoods();
System.out.print(carn[i].getName()+"\t"+"x"+carn[i].getGoods());
}
}
System.out.println("共载货"+goods+"吨");
System.out.println("***租车总价格:"+sum+"元");
}
else if(s==0){
System.out.println("感谢使用,欢迎下次使用");
}
else{
System.out.println("对不起,您输入的格式有误");
//return;
}
}catch(InputMismatchException e){
System.out.println("您的输入有误");       
}catch(NegativeArraySizeException e){
System.out.println("您的输入有误");
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("数组角标越界,请重新输入");
}
}
}
}

六、创建主函数所在类RentDemo,在主函数中创建Rent对象,调用租车方法。
/*
最终展示效果:
欢迎使用嗒嗒租车系统:
您是否要租车:1是 0否
您可租车的类型及其价目表:
序号 汽车名称 租金 容量
1. 奥迪A4 500元/天 载人:4人
2. 马自达6 400元/天 载人:4人
3. 皮卡雪6 450元/天 载人:4人 载货:2吨
4. 金龙 800元/天 载人:20人
5. 松花江 400元/天 载货:4吨
6. 依维柯 1000元/天 载货:20吨
请输入您要租汽车的数量:
请输入第i辆车的序号:
请输入租车天数:
您的账单:
可载人的车有:
奥迪A4 马自达6 皮卡雪6 金龙 共载人:32人
可载货的车有:
皮卡雪6 共载货:2.0吨
租车总价格:6450.0元

  • */
    /**异常处理
  • 对ArrayIndexOutBoundException异常处理。
  • 对InputMismatchException异常处理。
  • 对NegativeArraySizeException异常处理。
  • */
    package FirstProject;
    public class RentDemo {
    public static void main(String[] args) {
    Rent t = new Rent();
    t.run();
    }
    }
点击查看更多内容
2人点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消