⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hiremanage.java

📁 比较简单的vechilesystem代码还没经过优化
💻 JAVA
字号:
/**
 * Created by IntelliJ IDEA.
 * User: Ray
 * Date: 2008-4-8
 * Time: 13:47:26
 * To change this template use File | Settings | File Templates.
 */
package vehicleinfo;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

import report.HireReport;

public class HireManage {
    private ArrayList<Vehicle> vehicles;    //define Vehicle ArrayList

    public HireManage(){
         vehicles=new ArrayList<Vehicle>();
    }
    public HireManage(ArrayList<Vehicle> vehicles){
        this.vehicles=vehicles;
    }

    //add new vehicle
    public void vehicleRegister(Vehicle vehicle) {
        vehicles.add(vehicle);
    }
    //get total number of vehicles
    public int getNumberOfVehicle() {
        return vehicles.size();
    }
    //search vehicle by registration
    public Vehicle searchFor(String registration){
        for(Vehicle vehicle:vehicles){
            if(vehicle.getRegistration().equals(registration))
                return vehicle;
        }
        return null;
    }
    //get the state of hire
    public boolean hireVehicle(String registration) {
        Vehicle vehicle;
            if((vehicle=searchFor(registration))!=null&&vehicle.getHireState().equals("Unhired")){
                vehicle.resetHireState("Hired");
                return true;
            }
        return false;
    }
    //get all vehicles
    public ArrayList<Vehicle> getAllVehicles() {
        return vehicles;
    }
    //revert vehicle and return the expense report
    public String revertVehicle(String registration,double newMileage) {
        Vehicle vehicle;
            if((vehicle=searchFor(registration))!=null){
                vehicle.resetNewMileage(newMileage);
                HireReport hireReport=new HireReport(vehicle);
                vehicle.resetHireState("Unhired");
                String report=hireReport.getReport();
                vehicle.resetCurruntMileage(vehicle.getNewMileage());
                return report;
            }
        return null;
    }
    //default sort
    public void vehiclesSort() {
        Collections.sort(vehicles);
    }
    //delete a vehicle
    public void deleteVehicle(Vehicle vehicle) {
            vehicles.remove(vehicle);
    }
    //sort by type
	@SuppressWarnings("unchecked")
	public void sortByType() {
		Collections.sort(vehicles,new Comparator(){
			public int compare(final Object arg0, final Object arg1) {
			    final String s1=((Vehicle)arg0).getVehicleType();
			    final String s2=((Vehicle)arg1).getVehicleType();
				return s1.compareTo(s2);
			}
		});

	}
    //sort by registration
    @SuppressWarnings("unchecked")
	public void sortByRegistration() {
		Collections.sort(vehicles,new Comparator(){
			public int compare(final Object arg0, final Object arg1) {
			    final String s1=((Vehicle)arg0).getRegistration();
			    final String s2=((Vehicle)arg1).getRegistration();
				return s1.compareTo(s2);
			}
		});

	}
    //sort by hire state
    @SuppressWarnings("unchecked")
	public void sortByHireState() {
		Collections.sort(vehicles,new Comparator(){
			public int compare(final Object arg0, final Object arg1) {
			    final String s1=((Vehicle)arg0).getHireState();
			    final String s2=((Vehicle)arg1).getHireState();
				return s1.compareTo(s2);
			}
		});

	}
    //sort by colour
    @SuppressWarnings("unchecked")
	public void sortByColour() {
		Collections.sort(vehicles,new Comparator(){
			public int compare(final Object arg0, final Object arg1) {
			    final String s1=((Vehicle)arg0).getColour();
			    final String s2=((Vehicle)arg1).getColour();
				return s1.compareTo(s2);
			}
		});

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -