资源简介
这个项目我在学校里老师让我们做的,将近半个月才将这些内容写完,希望初学者能够好好学习一下,真的很经典的!!
代码片段和文件信息
/**
* 出租管理程序中负责与用户进行交互的类,主框架代码从猜数游戏移植而来,做了少量修改。
* 设计思路: 重用已有的设计和代码;设计实现”出租“业务的算法流程。
a 引入猜数游戏的主控框架
b 根据应用要求进行部分改写
界面提示displayMainMenu,出租、退租方法原型的实现、handle中相应的改写等。
c 生成RentManager的构造方法
主要是初始化输入、车辆管理、客户管理、出租单管理
d 实现”出租“业务
e 实现“退租”业务
*/
package edu.jmi.vechilerentmanager;
import java.util.Date;
import java.util.Scanner;
import edu.jmi.vechilerentmanager.customer.Customer;
import edu.jmi.vechilerentmanager.customer.CustomerManager;
import edu.jmi.vechilerentmanager.rentorder.RentOrder;
import edu.jmi.vechilerentmanager.rentorder.RentOrderManager;
import edu.jmi.vechilerentmanager.vechile.Vechile;
import edu.jmi.vechilerentmanager.vechile.VechileManager;
public class RentManager {
Scanner input ; //从键盘读取输入的对象
VechileManager vm ;
RentOrderManager rm ;
CustomerManager cm;
RentManager(){
input = new Scanner(System.in);
vm = new VechileManager();
vm.initTestVechiles();
rm = new RentOrderManager();
cm = new CustomerManager();
}
//显示主菜单
void displayMainMenu(){
System.out.println(“1 出租管理“);
System.out.println(“2 退租管理“);
System.out.println(“3 退出程序“);
}
// 从键盘获取一行字符串输入
String getInputString(){
return input.nextLine();
}
//从键盘获取数字输入,若输入非数字字符,返回-1
// 直接用nextInt方法,即使捕获异常,当输入非法字符时,会不断触发异常。
int getInput(){
int res = -1;
try {
String str = input.nextLine(); //读入一行字符串
res = Integer.parseInt(str); //将字符串转为整数
} catch (Exception e) { //通过异常处理来捕获输入非数字字符输入的情况
// TODO Auto-generated catch block
//e.printStackTrace();
}
return res;
}
/**实现出租功能
”出租“业务算法设计
1 提示并读取车辆类型(1-轿车 2-客车 3-货车)
2 从车辆管理对象,调用相关方法查询是否有空闲车辆
3 如果有车,获取用户信息。
3.1 则提示用户输入并读取身份证号
3.2 从客户管理对象,调用相关方法查询客户是否存在
3.3 如果客户不存在,则提示并读入用户的姓名及联系电话,生 成一个新的用户对象;
4 显示车辆及用户相关信息,读入客服确认信息
5 客服确认后,系统通过客户管理对象将新客户信息加入系统,通过车辆对象修改该车的出租状态,通过出租记录管理对象加入出租记录信息。显示“租车成功”,返回主界面。
*/
void rentInVechile(){
//读取车型信息
System.out.println(“请选择车型:1 轿车 2 客车 3 货车“);
int type = getInput();
if(type > 0 ){
//查询是否有空闲车辆
//VechileManager vm = new VechileManager();
Vechile vechile = vm.getVechile((byte)type);
if(vechile != null){ //有车
System.out.println(“请输入身份证号:“);
String id = getInputString();
//查询客户是否存在
Customer cust = cm.getCustomer(id);
if(cust == null){ //是新客户,则读取客户信息
cust = new Customer(nullidnull);
readCustomerInfo(cust);
}
//显示车辆及用户相关信息
dispRentInfo(vechilecust);
//读入客服确认信息
System.out.println(“是否确认租车(Y/N)“);
String str = getInputString();
if(“Y“.equalsIgnoreCase(str)){ //确认
vechile.setStatus((byte)2); //修改车辆状态为出租2
cm.addCustomer(cust); //加入客户信息
rm.addRentOrder(cust vechile);//加入车辆出租记录
System.out.println(“租车成功“);
}else {
System.out.println(“租车取消“) ;
}
}else{//无车
S
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 390 2011-10-17 11:14 VechileManager\.project
文件 301 2011-10-17 11:14 VechileManager\.classpath
文件 629 2011-10-17 11:14 VechileManager\.settings\org.eclipse.jdt.core.prefs
文件 3049 2011-10-18 17:44 VechileManager\bin\edu\jmi\vechilerentmanager\vechile\VechileManager.class
文件 2208 2011-10-18 17:44 VechileManager\bin\edu\jmi\vechilerentmanager\vechile\Vechile.class
文件 1789 2011-10-18 17:44 VechileManager\bin\edu\jmi\vechilerentmanager\vechile\Truck.class
文件 491 2011-10-18 17:44 VechileManager\bin\edu\jmi\vechilerentmanager\vechile\Car.class
文件 1109 2011-10-18 17:44 VechileManager\bin\edu\jmi\vechilerentmanager\vechile\Bus.class
文件 2587 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\rentorder\RentOrderManager.class
文件 2696 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\rentorder\RentOrder.class
文件 1849 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\customer\CustomerManager.class
文件 1047 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\customer\Customer.class
文件 4554 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\RentVechileManager.class
文件 4945 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\RentManager.class
文件 597 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\customer\Customer.java
文件 1492 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\customer\CustomerManager.java
文件 5228 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\RentManager.java
文件 2063 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\rentorder\RentOrder.java
文件 2562 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\rentorder\RentOrderManager.java
文件 5549 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\RentVechileManager.java
文件 501 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\vechile\Bus.java
文件 269 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\vechile\Car.java
文件 1024 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\vechile\Truck.java
文件 1583 2011-10-18 17:44 VechileManager\src\edu\jmi\vechilerentmanager\vechile\Vechile.java
文件 3330 2011-10-18 17:44 VechileManager\src\edu\jmi\vechilerentmanager\vechile\VechileManager.java
目录 0 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\vechile
目录 0 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\rentorder
目录 0 2011-10-17 11:14 VechileManager\bin\edu\jmi\vechilerentmanager\customer
目录 0 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\customer
目录 0 2011-10-17 11:14 VechileManager\src\edu\jmi\vechilerentmanager\rentorder
............此处省略14个文件信息
评论
共有 条评论