Java编写汽车租赁系统
java团长
共 6546字,需浏览 14分钟
· 2020-12-22
来源:blog.csdn.net/weixin_44889894
题目要求:
1、汽车租赁信息表如下:
2、类和属性:
3、运行效果:
效果实现:
代码实现:
1、车类:
package homework.exam;
public abstract class Vehicle {
private String num;
private String brand;
private double rent;
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public double getRent() {
return rent;
}
public void setRent(double rent) {
this.rent = rent;
}
public Vehicle() {
}
//含参构造
public Vehicle(String num, String brand, double rent) {
this.num = num;
this.brand = brand;
this.rent = rent;
}
public String toString() {
return "汽车{" +
"车牌号='" + num + '\'' +
", 品牌='" + brand + '\'' +
", 日租金=" + rent +
'}';
}
public abstract double totalmoney(int days , double rent);
public abstract boolean equals(Vehicle o);
}
2、汽车类:
package homework.exam;
public class Cars extends Vehicle{
private String type;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Cars(String brand,String type) {
this.type = type;
}
public Cars(String num, String brand, double rent, String type) {
super(num, brand, rent);
this.type = type;
}
public String toString() {
return "Cars{" +
"type='" + type + '\'' +
'}';
}
//计算小汽车的总租金
public double totalmoney(int days, double rent) {
if (days>7){
return days*rent*0.9;
}else if (days>30){
return days*rent*0.8;
}else if (days>150){
return days*rent*0.7;
}
return days*rent;
}
//重写equals方法
public boolean equals(Vehicle o) {
if (o instanceof Cars){
Cars cars= (Cars) o;
return this.getType().equals(cars.getType())&&this.getBrand().equals(o.getBrand());
}
return false;
}
}
3、客车类:
package homework.exam;
public class Bus extends Vehicle {
private String seat;
public String getSeat() {
return seat;
}
public void setSeat(String seat) {
this.seat = seat;
}
public Bus(String num, String brand, double rent, String seat) {
super(num, brand, rent);
this.seat = seat;
}
//计算客车的租金
public double totalmoney(int days, double rent) {
if (days>=3){
return days*rent*0.9;
}else if (days>=7){
return days*rent*0.8;
}else if (days>=30){
return days*rent*0.7;
}else if (days>=150){
return days*rent*0.6;
}
return days*rent;
}
//重写equals方法
public boolean equals(Vehicle o) {
return false;
}
}
4、车辆管理类:
package homework.exam;
public class CarRent {
//创建汽车数组,将汽车的信息放在数组中
public Cars[] carMake(){
Cars c1 = new Cars("京NY28588", "宝马", 800, "x6");
Cars c2 = new Cars("京CNY3284", "宝马", 600, "550i");
Cars c3 = new Cars("京NT37465", "别克", 300, "林荫大道");
Cars c4 = new Cars("京NT96928", "别克", 600, "GL8");
Cars[] arr1 ={c1,c2,c3,c4};
return arr1;
}
//创建客车数组,将汽车的信息放在数组中
public Bus[] busMake(){
Bus b1 = new Bus("京6566754", "金杯", 800, "16座");
Bus b2 = new Bus("京8696667", "金龙", 800, "16座");
Bus b3 = new Bus("京9696996", "金杯", 1500, "34座");
Bus b4 = new Bus("京8696998", "金龙", 1500, "34座");
Bus[] arr2={b1,b2,b3,b4};
return arr2;
}
}
5、业务服务类:
package homework.exam;
import java.util.Scanner;
public class CarService {
public void rentcar(){
System.out.println("**********欢迎光临秋名山守望者汽车租赁公司**********");
Scanner sc = new Scanner(System.in);
System.out.println("1,轿车 2,客车");
System.out.print("请输入您要租赁的汽车类型:");
int i = sc.nextInt();
CarRent carRent = new CarRent(); //创建车库对象
Cars[] cars = carRent.carMake(); //拿到轿车数组对象
Cars car=null;
Bus[] buses = carRent.busMake(); //拿到客车数组对象
Bus bus=null;
//判断用户选择的车型
if (i==1){
System.out.print("请选择你要租赁的汽车品牌:(1,别克 2,宝马)");
int i1 = sc.nextInt();
if (i1==1){
System.out.print("请输入你要租赁的汽车类型:(1,林荫大道 2,GL8 )");
}else {
System.out.print("请输入你要租赁的汽车类型:(1,x6 2,550i )");
}
String i2 = sc.next();
//遍历汽车数组,拿到用户选择的汽车
for (int j = 0; j < cars.length; j++) {
if (cars[j].getType().equals(i2)){ //当选择的车的类型与数组中的匹配时
car=cars[j]; //将车赋值给car
break;
}
}
System.out.print("请输入你要租赁的天数:");
int days = sc.nextInt();
System.out.print("分配给你的汽车牌号是:");
System.out.println(car.getNum()); //获取汽车的车牌
double totalmoney =0; //调用total
totalmoney = car.totalmoney(days, car.getRent()); //计算用户的租金
System.out.print("你需要支付的租赁分费用是:");
System.out.print(totalmoney);
}else if (i==2){
System.out.print("请选择你要租赁的汽车品牌:(1,金龙 2,金杯)");
String i2 = sc.next();
System.out.print("请输入你要租赁的汽车座位数:(1,16座 2,34座)");
String i3 = sc.next();
//遍历客车数组,拿到用户选择的客车
for (int j = 0; j < buses.length; j++) {
//当输入的客车的车牌和座位与数组中的相等,就选出用户选择的车
if (buses[j].getBrand().equals(i2)&&buses[j].getSeat().equals(i3)){
bus=buses[j]; //将选择的车辆赋值给bus
break;
}
}
System.out.print("请输入你要租赁的天数:");
int days = sc.nextInt();
System.out.print("分配给你的汽车牌号是:");
System.out.println();
System.out.println(bus.getNum()); //拿到用户选择的车牌号
double totalmoney = 0; //调用totalmoney方法
totalmoney=bus.totalmoney(days, bus.getRent()); //用用户输入的天数。来计算租金
System.out.print("你需要支付的租赁分费用是:");
System.out.print(totalmoney);
}
}
}
6、测试类:
package homework.exam;
public class Test {
public static void main(String[] args) {
CarService cs = new CarService();
cs.rentcar();
}
}
控制台输入的内容,我选择的是输入字符串类型,没有按照效果图上,如果你做的话,你可以用三元运算符来实现哦!
评论
豆瓣9.7,这部Java神作第3版重磅上市!
文末赠书Java 程序员们开年就有重磅好消息,《Effective Java 中文版(原书第 3 版)》要上市啦!该书的第1版出版于 2001 年,当时就在业界流传开来,受到广泛赞誉。时至今日,已热销近20年,本书第 3 版已是 Java 程序员的必读神书,被誉为“Java 四大名著之一”,甚至连
编码之外
0
测试新人,如何快速上手一个陌生的系统!
大家好,我是狂师!作为刚入行不久的测试新人,面对一个陌生的系统时,可能会感到有些手足无措。面对一个全新的系统系统,如何快速上手并展开有效的测试工作是一个重要的挑战。本文将探讨测试新人如何通过一系列步骤和策略,快速熟悉并掌握新系统的测试要点,从而提高测试效率和质量。本文旨在为测试新手提供一份指导,帮助
测试开发技术
0
教你基于 Jenkins 搭建一套 CI/CD 系统
原文链接:https://mp.weixin.qq.com/s/KVc4IFky1z7kZn-7bz79DQ一、CI/CD环境介绍本次要实现如下效果,开发人员完成功能开发并提交代码到gitlab仓库,jenkins自动完成拉取代码、编译构建、代码扫描(sonarqube)、打
码农编程进阶笔记
0
大量 Java 开源项目停更...
点击关注公众号,Java 干货及时推送↓推荐阅读:投了 100 多份简历后…出品 | OSC开源社区(ID:oschina2013)Sonatype 发布了最新的一份《软件供应链状况》报告,深入探讨了如何在充满选择的世界中定义更好的软件,并探讨人工智能 (AI) 对软件开发的深远
Java技术栈
0
Java 神作,必读!
Java 程序员们开年就有重磅好消息,《Effective Java 中文版(原书第 3 版)》要上市啦!该书的第1版出版于 2001 年,当时就在业界流传开来,受到广泛赞誉。时至今日,已热销近20年,本书第 3 版已是 Java 程序员的必读神书,被誉为“Java 四大名著之一”,甚至连 Java
小哈学Java
0
Linux系统性能优化:七个实战经验
来源公众号:twt社区IT社区原文链接:https://mp.weixin.qq.com/s/Rey0gSnnj-zoAEwE6J-GjwLinux系统的性能是指操作系统完成任务的有效性、稳定性和响应速度。Linux系统管理员可能经常会遇到系统不稳定、响应速度慢等问题,例如在Linux上搭建了一个w
开源Linux
1
Java与lua互相调用简单教程
来源:网络👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接:http://116.62.199.48/ ,新项目
小哈学Java
0
【送书福利】《Java面试八股文:高频面试题与求职攻略一本通》
先来唠唠最近粉丝面试回来跟我聊天,基本上都提到一个点,在面试过程中八股文占比很高(八股文70%、项目20%、10%算法)除了一些搞算法突出的厂除外。其实现在很多厂八股都是逐渐深入的方式来问,所以大家在学习的过程中,针对一些重点的内容,最好深入去学习,不然还是比较难应对这种追问式的问题。最近刚好从一位
Java后端技术
0