Java汽车租赁系统1.1 - 变量+数组

 汽车租赁系统

author:luckyboy!

version:1.0

知识储备:变量、数据类型、选择结构、循环结构、数组 

系统概述:某汽车租赁公司出租多种轿车和客车,出租费用以日为单位计算。出租车型及信息如下表所示。

车型具体信息日租金折扣
轿车宝马X6(京NY28588)800

days>7天9折

days>30天8折

days>150天7折

宝马550i(京CNY3284)600
别克林荫大道(京NT37465)300
别克GL8(京NT96968)600
客车金杯、16座(京6566754)800

days>=3天9折

days>=7天8折

days>=30天7折

days>=150天6折

金龙、16座(京8696997)
金杯、34座(京9696996)1500
金龙、34座(京8696998)

代码设计思路

        根据租赁的车型分为轿车和客车两种,轿车的信息有轿车品牌、轿车型号、车牌号、日租金;客车的信息有客车品牌、客车座位数、车牌号、日租金。

        创建数组保存轿车信息,四个数组,每个数组长度为4,将相同类型的信息保存在一个数组中,每个数组对应的下标便组成了一条轿车信息。

        创建数组保存客车信息,四个数组,每个数组长度为4,将相同类型的信息保存在一个数组中,每个数组对应的下标便组成了一条客车信息。

代码如下:

public class MotoOperation {

	public static void main(String[] args) {
		//初始化汽车信息,将汽车信息保存到汽车数组
		//车牌号
		String[] carId = {"京NY28588","京CNY28588","京NT37465","京NT96968"};
		//轿车品牌
		String[] carBrand = {"宝马", "宝马", "别克", "别克"};
		//轿车日租金
		int[] carperRent = {800, 600, 300, 600};
		//轿车型号
		String[] carType = {"X6", "550i", "林荫大道", "GL8"};
		
		
		//初始化信息,将客车信息保存到客车数组
		//车牌号
		String[] busId = {"京6566754","京9696996","京8696997","京8696998"};
		//客车品牌
		String[] busBrand = {"金杯", "金杯", "金龙", "金龙"};
		//客车日租金
		int[] busperRent = {800, 1500,800, 1500};
		//座位数
		int[] seatCoutn = {16, 34, 16, 34};
		
		Scanner in = new Scanner(System.in);
		System.out.println("**********欢迎光临租赁公司**********");
		System.out.println("1->轿车\t2->客车");
		System.out.println("请选择您要租赁的汽车类型:");
		int choose = in.nextInt();
		//如果用户输入的是1和2以外的数字,则重新输入
		while(choose < 1 || choose > 2){
			System.out.println("输入错误,请重新选择您要租赁的汽车类型");
			choose = in.nextInt();
		}
		
		//如果用户选择1,执行if内的代码
		if(choose == 1){
			System.out.println("1->宝马\t2->别克");
			System.out.println("请选择您要租赁的轿车品牌:");
			int chooseBrand = in.nextInt();
			//如果用户选择1和2以外的数字,给出提示语句,重新选择
			while(chooseBrand < 1 || chooseBrand > 2){
				System.out.println("输入错误,请重新选择您要租赁的轿车品牌:");
				chooseBrand = in.nextInt();
			}
			//如果用户选择1,则将宝马赋值给brand,否则将别克赋值给brand
			String brand = chooseBrand == 1 ? "宝马" : "别克";
			//如果bread等于宝马,则执行if语句内的代码,如果brand等于别克,则执行else-if语句内的代码
			if(brand == "宝马"){
				System.out.println("1->X6\t2->550i");
				System.out.println("请选择您要租赁的轿车型号:");
				int chooseType = in.nextInt();
				//如果用户选择1和2以外的数字,给出提示语句,重新选择
				while(chooseType < 1 || chooseType > 2){
					System.out.println("输入错误,请重新选择您要租赁的轿车型号:");
					chooseType = in.nextInt();
				}
				//如果用户选择1,则将x6赋值给type,否则将550i赋值给type
				String type = chooseType == 1 ? "X6" : "550i";
				
				for (int i = 0; i < carType.length; i++) {
					if(carBrand[i].equals(brand) && carType[i].equals(type)){
						//计算租金
						System.out.println("请输入需要租赁的天数:");
						int days = in.nextInt();
						double price = carperRent[i] * days;
						if (days > 7 && days <= 30) {
							price = price * 0.9;
						} else if (days > 30 && days <= 150) {
							price = price * 0.8;
						} else if (days > 150) {
							price = price * 0.7;
						}
						System.out.println("租车成功,请按照如下车牌号提车:" + carId[i]);
						System.out.println("您需要支付:" + price + "元");
					}
				}
				
			}else if(brand == "别克"){
				System.out.println("1->林荫大道\t2->GL8");
				System.out.println("请选择您要租赁的轿车型号:");
				int chooseType = in.nextInt();
				//如果用户选择1和2以外的数字,给出提示语句,重新选择
				while(chooseType < 1 || chooseType > 2){
					System.out.println("输入错误,请重新选择您要租赁的轿车型号:");
					chooseType = in.nextInt();
				}
				//如果用户选择1,则将x6赋值给type,否则将550i赋值给type
				String type = chooseType == 1 ? "林荫大道" : "GL8";
				for (int i = 0; i < carType.length; i++) {
					if(carBrand[i].equals(brand) && carType[i].equals(type)){
						//计算租金
						System.out.println("请输入需要租赁的天数:");
						int days = in.nextInt();
						double price = carperRent[i] * days;
						if (days > 7 && days <= 30) {
							price = price * 0.9;
						} else if (days > 30 && days <= 150) {
							price = price * 0.8;
						} else if (days > 150) {
							price = price * 0.7;
						}
						System.out.println("租车成功,请按照如下车牌号提车:" + carId[i]);
						System.out.println("您需要支付:" + price + "元");
					}
				}
			}
		}
		//如果用户选择2,执行else-if内的代码
		else if(choose == 2){
			System.out.println("1->金杯\t2->金龙");
			System.out.println("请选择您要租赁的客车品牌:");
			int chooseBrand = in.nextInt();
			//如果用户选择1和2以外的数字,给出提示语句,重新选择
			while(chooseBrand < 1 || chooseBrand > 2){
				System.out.println("输入错误,请重新选择您要租赁的客车品牌:");
				chooseBrand = in.nextInt();
			}
			//如果用户选择1,则将金杯赋值给brand,否则将金龙赋值给brand
			String brand = chooseBrand == 1 ? "金杯" : "金龙";
			//如果bread等于金杯,则执行if语句内的代码,如果brand等于金龙,则执行else-if语句内的代码
			if(brand == "金杯"){
				System.out.println("1->16\t2->34");
				System.out.println("请选择您要租赁的客车座位数:");
				int chooseCount = in.nextInt();
				//如果用户选择1和2以外的数字,给出提示语句,重新选择
				while(chooseCount < 1 || chooseCount > 2){
					System.out.println("输入错误,请重新选择您要租赁的客车座位数:");
					chooseCount = in.nextInt();
				}
				//如果用户选择1,则将16赋值给count,否则将34赋值给count
				int count = chooseCount == 1 ? 16 : 34;
				
				for (int i = 0; i < busBrand.length; i++) {
					if(busBrand[i].equals(brand) && seatCoutn[i] == count){
						//计算租金
						System.out.println("请输入需要租赁的天数:");
						int days = in.nextInt();
						double price = busperRent[i] * days;
						if (days > 7 && days <= 30) {
							price = price * 0.9;
						} else if (days > 30 && days <= 150) {
							price = price * 0.8;
						} else if (days > 150) {
							price = price * 0.7;
						}
						System.out.println("租车成功,请按照如下车牌号提车:" + busId[i]);
						System.out.println("您需要支付:" + price + "元");
					}
				}
			}else if(brand == "金龙"){
				System.out.println("1->16\t2->34");
				System.out.println("请选择您要租赁的客车座位数:");
				int chooseCount = in.nextInt();
				//如果用户选择1和2以外的数字,给出提示语句,重新选择
				while(chooseCount < 1 || chooseCount > 2){
					System.out.println("输入错误,请重新选择您要租赁的客车座位数:");
					chooseCount = in.nextInt();
				}
				//如果用户选择1,则将16赋值给count,否则将34赋值给count
				int count = chooseCount == 1 ? 16 : 34;
				
				for (int i = 0; i < busBrand.length; i++) {
					if(busBrand[i].equals(brand) && seatCoutn[i] == count){
						//计算租金
						System.out.println("请输入需要租赁的天数:");
						int days = in.nextInt();
						double price = busperRent[i] * days;
						if (days > 7 && days <= 30) {
							price = price * 0.9;
						} else if (days > 30 && days <= 150) {
							price = price * 0.8;
						} else if (days > 150) {
							price = price * 0.7;
						}
						System.out.println("租车成功,请按照如下车牌号提车:" + busId[i]);
						System.out.println("您需要支付:" + price + "元");
					}
				}
			}
		}
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值