一、创建汽车父类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人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦