package com;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class HelloWorld {
static Scanner sc = new Scanner(System.in);
static List<Car> clist = new ArrayList<Car>();
static List<Car> rlist = new ArrayList<Car>();
//匿名内部类
public class Car{
String code;//编号
String name;//名称
int money;//每日租金
int passenger;//载客认人数
int cargo;//载货吨位
int carNum;//租车数量
int rentNum;//租赁天数
int total;//租金小计
public Car(String code,String name,int money,int passenger,int cargo){
this.code=code;
this.name=name;
this.money=money;
this.passenger=passenger;
this.cargo=cargo;
}
public void printInfo(){
System.out.println(this.code+"\t"+this.name+"\t"+this.money+"元 \t"+this.passenger+"\t"+this.cargo);
}
public void printResInfo(){
System.out.println(this.code+"\t"+this.name+"\t"+this.money+"元 \t"+this.passenger+"\t"+this.cargo+"\t"+this.carNum+"辆\t"+this.rentNum+"天\t"+this.money*this.rentNum*this.carNum+"元");
}
}
public static void main(String[] args) {
init(new HelloWorld());//初始化车辆信息
System.out.println("==========欢迎光临哒哒租车系统==========");
showInfo();
}
//初始化车辆信息
public static void init(HelloWorld obj){
Car c1 = obj.new Car("1","宝马X1",1000,4,0);
Car c2 = obj.new Car("2","奔驰500",1500,4,0);
Car c3 = obj.new Car("3","东风",2000,2,10);
Car c4 = obj.new Car("4","时风",500,2,2);
Car c5 = obj.new Car("5","松花江",800,4,20);
Car c6 = obj.new Car("6","金龙",6000,20,0);
clist.add(c1); clist.add(c2); clist.add(c3);
clist.add(c4); clist.add(c5); clist.add(c6);
}
//系统菜单
public static void rent(){
System.out.println("1-退出 \t2-查看车辆信息 \t3-租车 \t4-查看已选租车辆 \t5-重新选择");
try {
switch (sc.nextInt()) {
case 1:
if(rlist.size()>0){
showRes();
}
System.out.println("感谢您的光临!祝您生活愉快!");
break;
case 2:
showInfo();
break;
case 3:
getRent();
break;
case 4:
showRes();
break;
case 5:
rlist.clear();
System.out.println("选租车辆信息已经重置!请您选择接下来的操作服务编号");
rent();
break;
default:
System.out.println("您的输入有误,请输入1~5之间的整数操作服务编号");
rent();
break;
}
}catch (Exception e) {
System.out.println("您的输入有误,请输入1~5之间的整数操作服务编号");
rent();
}
}
//展示车辆信息
public static void showInfo(){
System.out.println("------------可租赁的车辆信息-------------");
System.out.println("编号\t名称\t每日租金 \t载客人数\t载货吨位");
for(Car temp:clist){
temp.printInfo();
}
System.out.println("亲,请输入您想要的操作服务编号(1~5之间的整数)");
rent();
}
//展示已选租车辆信息
public static void showRes(){
if(rlist.size()>0){
System.out.println("------------您已选择租赁的车辆信息-------------");
System.out.println("编号\t名称\t每日租金 \t载客人数\t载货吨位 \t租车数量 \t租赁天数 \t租赁金额");
//累计各项数值
int passNum = 0;//载客总人数
int goNum = 0;//载货总吨位
int carNum = 0;//租车总数量
int rentNum = 0;//租赁总天数
double total = 0.0;//租金总额
for(Car temp:rlist){
temp.printResInfo();
passNum+=temp.passenger;
goNum+=temp.cargo;
carNum+=temp.carNum;
rentNum+=temp.rentNum;
total+=temp.money*temp.rentNum*temp.carNum;
}
System.out.println("累计:\t载客人数:"+passNum+"人\t载货吨位:"+goNum+"吨\t租车数量:"+carNum+"辆\t租车天数:"+rentNum+"天\t租车金额:"+total+"元");
rent();
}else{
System.out.println("您尚未选择租赁车辆!请您选择接下来的操作服务编号");
}
}
//选择租赁车辆操作
public static void getRent(){
System.out.println("请输入您想要租赁的车辆编号(1~6之间的整数),例如1代表[宝马X1]");
int code = sc.nextInt();
try {
Car temp = clist.get(code-1);
System.out.println("请输入您想要租赁 ["+temp.name+"]的数量:");
temp.carNum = sc.nextInt();
System.out.println("请输入您想要租赁["+temp.name+"]的天数:");
temp.rentNum = sc.nextInt();
rlist.add(temp);
System.out.println("["+temp.name+"]租赁完成!请您选择接下来的操作服务编号");
rent();
} catch (Exception e) {
System.out.println("输入有误,请您重新运行程序!");
}
}
}