Created three packages, the first package created five categories, namely the parent category named bicycle, and four sub-categories hbike, dbike, wbike and fbike, meaning that the bicycle is used by the hours, by days and by weeks. Use bicycles in family on any type. Therefore, the family bike can call the content of other subcategories.
A bike management class is created in the second package, which can initialize the bicycle and perform the function of renting a bike to fulfill the needs of customers.
The third package is the rental category. Its function is to provide customers with an entry point to input their needs.
创建了三个包,第一个包创建了五个类别,即名为自行车的父类别,和四个子类hbike, dbike, wbike和fbike,这意味着自行车按小时,按天数和按周数租车选项。家庭自行车可以任意选择其他三个选择的内容。因此,家庭自行车可以调用其他子类的内容。
在第二个包中创建了一个自行车租赁类,可以对自行车进行初始化,并执行租赁自行车的功能,以满足客户的需求。
第三个包是租赁管理类。它的功能是为客户提供一个输入他们需求的入口点。
bikes package
package bikes;
public abstract class bike {
private int rent;
public bike(){}
public bike(int rent) {
this.rent = rent;
}
public int getRent() {
return rent;
}
public void setRent(int rent) {
this.rent = rent;
}
public abstract float calculateRent(int time);
}
按小时租赁功能&租金计算
package bikes;
public class hbike extends bike{
public hbike(){}
public hbike(int rent) {
super(rent);
}
public float calculateRent(int time) {
float price = this.getRent() * time * 0.7f;
return price;
}
}
按天数租赁功能&租金计算
package bikes;
public class dbike extends bike {
public dbike(){}
public dbike(int rent) {
super(rent);
}
public float calculateRent(int time) {
float price = this.getRent() * time;
return price;
}
}
按周数租赁功能&租金计算
package bikes;
public class wbike extends bike {
public wbike(){}
public wbike(int rent) {
super(rent);
}
public float calculateRent(int time) {
float price = this.getRent() * time;
return price;
}
}
家庭用车
package bikes;
public class fbike extends bike {
public fbike(){}
public fbike(int rent) {
super(rent);
}
public float calculateRent(int time) {
float price = this.getRent() * time * 0.7f;
return price;
}
}
对自行车进行初始化,并执行租赁自行车的功能
package management;
import bikes.bike;
import bikes.hbike;
import bikes.dbike;
import bikes.wbike;
public class BikeOperation {
bike[] bikes = new bike[15];
public void init() {
bikes[0] = new hbike(50);
bikes[1] = new hbike(50);
bikes[2] = new hbike(50);
bikes[3] = new hbike(50);
bikes[4] = new hbike(50);
bikes[5] = new dbike(200);
bikes[6] = new dbike(200);
bikes[7] = new dbike(200);
bikes[8] = new dbike(200);
bikes[9] = new dbike(200);
bikes[10] = new wbike(600);
bikes[11] = new wbike(600);
bikes[12] = new wbike(600);
bikes[13] = new wbike(600);
bikes[14] = new wbike(600);
}
public bike rentBike() {
bike b = null;
return b;
}
}
提供一个输入顾客需求的入口点
package rent;
import java.util.Scanner;
import bikes.bike;
import management.BikeOperation;
public class Rent {
public static void main(String[] args) {
bike bike = null;
Scanner input = new Scanner(System.in);
BikeOperation bikeOpr = new BikeOperation();
System.out.println("Please select the type of bicycle you want to rent");
System.out.println("1.hour bike\t2.day bike\t3.week bike\t4.family bike");
int bikeType = input.nextInt();
bikeOpr.init();
int size = 5;
if(bikeType == 1){
System.out.println("Please enter your rental hours:");
int time = input.nextInt();
double price = 50 * time;
System.out.println("You need to pay:"+price+"RMB");
size = size - 1;
System.out.println("There are "+size+" bicycles rented per hour left");
}if(bikeType == 2){
System.out.println("Please enter your rental days:");
int time = input.nextInt();
double price = 200 * time;
System.out.println("You need to pay:"+price+"RMB");
size = size - 1;
System.out.println("There are "+size+" bicycles rented per day left");
}if(bikeType == 3){
System.out.println("Please enter your rental weeks:");
int time = input.nextInt();
double price = 600 * time;
System.out.println("You need to pay:"+price+"RMB");
size = size - 1;
System.out.println("There are "+size+" bicycles rented per week left");
}else if(bikeType == 4){
System.out.println("Please select the type of bicycle you want to rent:");
System.out.println("1.hour bike\t2.day bike\t3.week bike");
int Type = input.nextInt();
if(Type == 1) {
System.out.println("Please enter your rental hours:");
int time = input.nextInt();
System.out.println("Please enter your rental quantity:");
int number = input.nextInt();
double price = 50 * time * 0.7 * number;
System.out.println("You need to pay:"+price+"RMB");
size = size - number;
System.out.println("There are "+size+" bicycles rented per week left");
}if(Type == 2) {
System.out.println("Please enter your rental days:");
int time = input.nextInt();
System.out.println("Please enter your rental quantity:");
int number = input.nextInt();
double price = 200 * time * 0.7 * number;
System.out.println("You need to pay:"+price+"RMB");
size = size - number;
System.out.println("There are "+size+" bicycles rented per week left");
}else if(Type == 3) {
System.out.println("Please enter your rental weeks:");
int time = input.nextInt();
System.out.println("Please enter your rental quantity:");
int number = input.nextInt();
double price = 600 * time * 0.7 * number;
System.out.println("You need to pay:"+price+"RMB");
size = size - number;
System.out.println("There are "+size+" bicycles rented per week left");
}
}
}
}