简单的汽车出租管理程序

使用抽象类和接口实现的租车系统java代码;

定义接口类:


public interface CarRentalSystemInterface {
    void displayMenu();
    void handleChoice(int choice);
}

 定义抽象类:

import java.util.Scanner;

public abstract class CarRentalSystem implements CarRentalSystemInterface {
    public void run() {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            displayMenu();
            int choice = scanner.nextInt();
            handleChoice(choice);
        }
    }
}

租车系统功能菜单:

import java.util.Scanner;

public class ConcreteCarRentalSystem extends CarRentalSystem {
    @Override
    public void displayMenu() {
        System.out.println("请选择操作:");
        System.out.println("1. 查询车型");
        System.out.println("2. 查询租车手续");
        System.out.println("3. 查询价格");
        System.out.println("4. 管理出租汽车");
        System.out.println("5. 计算租金并生成租车合同");
        System.out.println("6. 退出");
    }

    @Override
    public void handleChoice(int choice) {
        switch (choice) {
            case 1:
                System.out.println("我们提供以下车型:");
                System.out.println("1. 轿车");
                System.out.println("2. SUV");
                System.out.println("3. MPV");
                break;
            case 2:
                System.out.println("租车手续包括:");
                System.out.println("1. 身份证明");
                System.out.println("2. 驾驶证");
                System.out.println("3. 信用卡");
                break;
            case 3:
                System.out.println("不同车型的价格如下:");
                System.out.println("轿车:每天100元");
                System.out.println("SUV:每天200元");
                System.out.println("MPV:每天300元");
                break;
            case 4:
                System.out.println("请输入要管理的车辆信息:");
                // 这里可以添加具体的车辆管理逻辑,例如增加、删除、修改车辆信息等
                break;
            case 5:
                System.out.println("请输入租车天数和车型:");
                int days = new Scanner(System.in).nextInt();
                int carType = new Scanner(System.in).nextInt();
                double price = 0;
                switch (carType) {
                    case 1:
                        price = 100 * days;
                        break;
                    case 2:
                        price = 200 * days;
                        break;
                    case 3:
                        price = 300 * days;
                        break;
                    default:
                        System.out.println("无效的车型");
                        break;
                }
                System.out.println("总租金:" + price + "元");
                System.out.println("生成租车合同...");
                // 这里可以添加生成租车合同的逻辑,例如将租车信息写入文件等
                break;
            case 6:
                System.out.println("感谢使用,再见!");
                System.exit(0);
            default:
                System.out.println("无效的操作,请重新选择");
        }
    }
}

测试代码:

import CarRentalSystemInterface;
import CarRentalSystem;
import ConcreteCarRentalSystem;

public class Main {
    public static void main(String[] args) {
        CarRentalSystemInterface carRentalSystem = new ConcreteCarRentalSystem();
        carRentalSystem.run();
    }
}

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM框架是指Spring+SpringMVC+MyBatis框架的组合,它是一种常用的Java Web开发框架。下面是一个简单的SSM框架的汽车租赁系统程序设计的示例: 1. 首先,创建数据库表格,包括汽车信息表、用户信息表、租赁记录表等。 2. 在Spring配置文件中配置数据源和事务管理器,以及其他需要的配置。 3. 创建实体类,对应数据库中的表格,使用注解进行映射。 4. 创建DAO接口和对应的Mapper文件,使用MyBatis进行数据库操作。 5. 创建Service接口和实现类,实现业务逻辑。 6. 创建Controller类,处理前台请求,调用相应的Service方法。 7. 在SpringMVC配置文件中配置视图解析器和处理器映射器,以及其他需要的配置。 8. 创建前台页面,包括用户注册、登录、浏览车源、提交用车需求等功能的页面。 9. 在前台页面中使用Ajax或表单提交方式,向后台发送请求。 10. 后台接收请求,调用相应的Controller方法进行处理。 11. 根据业务逻辑,调用Service方法进行数据处理和业务操作。 12. 返回结果给前台页面,展示相应的信息。 13. 在后台管理页面中,管理员可以进行客户管理、汽车管理、出租记录管理等操作。 14. 使用SSM框架的特性,如AOP、事务管理等,保证系统的安全性和稳定性。 15. 运行程序,测试各个功能是否正常运行。 16. 根据需要,进行优化和改进,提高系统的性能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值