国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java汽車租賃系統(tǒng)1.2-面向?qū)ο?數(shù)組

這篇具有很好參考價值的文章主要介紹了Java汽車租賃系統(tǒng)1.2-面向?qū)ο?數(shù)組。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

汽車租賃系統(tǒng)

author:luckyboy!

version:1.1

知識儲備:變量、數(shù)據(jù)類型、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組 、面向?qū)ο?/p>

系統(tǒng)概述:某汽車租賃公司出租多種轎車和客車,出租費用以日為單位計算。出租車型及信息如下表所示。

車型 具體信息 日租金 折扣
轎車 寶馬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)

面向?qū)ο笤O(shè)計步驟

????????首先讀懂項目需求,分析項目需求找出隱藏在其中的名詞和動詞,這些名詞可能是所能用到的類和屬性,動詞可能是需要用到的方法。根據(jù)已知的類、屬性、方法進一步優(yōu)化設(shè)計,最后梳理項目運行過程。

Java汽車租賃系統(tǒng)1.2-面向?qū)ο?數(shù)組

?需求中的名詞

? ? ? ? 汽車租賃公司、汽車、轎車、客車、別克、寶馬、金杯、金龍、X6、550i、GL8、林蔭大道、座位數(shù)、日租金、折扣、車牌號(京NY28588、京CNY3284、京NT37465、京NT96968、京6566754、京6566754、京9696996、京8696998)

類和類屬性

????????根據(jù)已知名詞找出需要使用的類和類屬性

????????汽車類:車牌號、車的品牌、日租金

????????客車類:車牌號、車的品牌、日租金、座位數(shù)

????????轎車類:車牌號、車的品牌、日租金、車的型號

????????汽車業(yè)務(wù)類:

????????汽車租賃管理類(測試類)

分析:

  • 客車和轎車都屬于汽車,汽車是客車和汽車的父類,汽車和客車是汽車的子類。
  • 客車和汽車都具有相同的屬性(車牌號、車的品牌、日租金);那么客車類和轎車類可以繼承汽車類的屬性。
  • 除去相同的屬性還具有私有的屬性,客車類具有座位數(shù),轎車類具有車的型號。
  • 還應(yīng)有一個汽車業(yè)務(wù)類來完成汽車租賃功能。
  • 汽車租賃管理類用來對汽車租賃系統(tǒng)進行測試。

需求中的動詞

? ? ? ? 計算租金、租賃、程序入口是類中所需大方法。

優(yōu)化設(shè)計

Java汽車租賃系統(tǒng)1.2-面向?qū)ο?數(shù)組

?完成優(yōu)化設(shè)計代碼:

創(chuàng)建 .Java文件:MotoVehicle類(汽車類)、Car類(轎車類)、Bus類(客車類)、MotoOperation類(汽車業(yè)務(wù)類)、Test類(測試類)

Java汽車租賃系統(tǒng)1.2-面向?qū)ο?數(shù)組

階段劃分

  • 第一階段:創(chuàng)建并完成汽車類
  • 第二階段:創(chuàng)建并完成轎車類
  • 第三階段:創(chuàng)建并完成客車類
  • 第四階段:創(chuàng)建并完成汽車業(yè)務(wù)類
  • 第五階段:創(chuàng)建并完成測試類

第一階段:創(chuàng)建并完成汽車類

父類MotoVehicle

//汽車類
public abstract class MotoVehicle {

	//車牌號	品牌	日租金
	private String vehicleId;
	private String brand;
	private int perRent;
	
	//無參構(gòu)造方法
	public MotoVehicle() {
	}
	
	//有參構(gòu)造方法
	public MotoVehicle(String vehicleId, String brand, int perRent) {
		this.vehicleId = vehicleId;
		this.brand = brand;
		this.perRent = perRent;
	}

	//get和set方法
	public String getVehicleId() {
		return vehicleId;
	}
	public void setVehicleId(String vehicleId) {
		this.vehicleId = vehicleId;
	}
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	public int getPerRent() {
		return perRent;
	}
	public void setPerRent(int perRent) {
		this.perRent = perRent;
	}
	
	//計算租金(抽象方法)
	public abstract double calcRent(int days);
}

?第二階段:創(chuàng)建并完成轎車類?

子類Car繼承父類MotoVehicle

//轎車類
public class Car extends MotoVehicle {

	// 型號
	private String type;

	// 無參構(gòu)造方法
	public Car() {
		super();
	}

	// 有參構(gòu)造方法
	public Car(String vehicleId, String brand, int perRent, String type) {
		super(vehicleId, brand, perRent);
		this.type = type;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	@Override
	public double calcRent(int days) {
		double price = this.getPerRent() * 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;
		}
		return price;
	}

}

第三階段:創(chuàng)建并完成客車類?

子類Bus繼承父類MotoVehicle

//客車類
public class Bus extends MotoVehicle {

	// 座位數(shù)
	private int seatCount;

	// 無參構(gòu)造方法
	public Bus() {
		super();
	}

	// 有參構(gòu)造方法
	public Bus(String vehicleId, String brand, int perRent, int seatCount) {
		super(vehicleId, brand, perRent);
		this.seatCount = seatCount;
	}

	public int getSeatCount() {
		return seatCount;
	}

	public void setSeatCount(int seatCount) {
		this.seatCount = seatCount;
	}

	@Override
	public double calcRent(int days) {
		double price = this.getPerRent() * days;
		if (days >= 3 && days < 7) {
			price = price * 0.9;
		} else if (days >= 7 && days < 30) {
			price = price * 0.8;
		} else if (days >= 30 && days < 150) {
			price = price * 0.7;
		} else if (days >= 150) {
			price = price * 0.6;
		}
		return price;
	}

}

第四階段:創(chuàng)建并完成汽車業(yè)務(wù)類

MotoOperation類

import java.util.ArrayList;
import java.util.Scanner;

//汽車業(yè)務(wù)類
public class MotoOperation {
	Scanner in = new Scanner(System.in);
	// 創(chuàng)建轎車類數(shù)組
	Car[] car = new Car[4];
	// 創(chuàng)建客車類
	Bus[] bus = new Bus[4];

	public void inti() {
		// 將轎車信息保存到轎車類數(shù)組
		car[0] = new Car("京NY28588", "寶馬", 800, "X6");
		car[1] = new Car("京CNY28588", "寶馬", 600, "550i");
		car[2] = new Car("京NT37465", "別克", 300, "林蔭大道");
		car[3] = new Car("京NT96968", "別克", 600, "GL8");
		// 將客車信息保存到客車類數(shù)組
		bus[0] = new Bus("京6566754", "金杯", 800, 16);
		bus[1] = new Bus("京9696996", "金杯", 1500, 34);
		bus[2] = new Bus("京8696997", "金龍", 800, 16);
		bus[3] = new Bus("京8696998", "金龍", 1500, 34);
	}

	// 汽車租賃方法
	public void start() {
		System.out.println("**********歡迎光臨租賃公司**********");
		System.out.println("1-轎車\t2-客車");
		System.out.println("請選擇您要租賃的汽車類型:");
		int type = in.nextInt();
		// 如果輸入1和2以外的數(shù)字,則重新輸入
		while (type < 1 || type > 2) {
			System.out.println("輸入錯誤,請重新選擇您要租賃的汽車類型:");
			type = in.nextInt();
		}
		if (type == 1) {// 用戶選擇租轎車
			// 租轎車的方法
			car();
		} else if (type == 2) {// 用戶選擇租客車
			// 租客車的方法
			bus();
		}
	}

	// 轎車租賃方法
	public void car() {
		String brand = "";
		String type = "";
		System.out.println("請選擇您要租賃的轎車品牌:1-別克\t2-寶馬");
		int chooseBrand = in.nextInt();
		// 如果輸入1和2以外的數(shù)字,則重新輸入
		while (chooseBrand < 1 || chooseBrand > 2) {
			System.out.println("輸入錯誤,請重新選擇您要租賃的轎車品牌:");
			chooseBrand = in.nextInt();
		}

		// 用戶選擇別克
		if (chooseBrand == 1) {
			// 轎車品牌賦值為別克
			brand = "別克";
			System.out.println("請選擇您要租賃的汽車型號:1-林蔭大道\t2-GL8");
			int chooseType = in.nextInt();
			// 如果輸入1和2以外的數(shù)字,則重新輸入
			while (chooseType < 1 || chooseType > 2) {
				System.out.println("輸入錯誤,請重新選擇您要租賃的轎車型號:");
				chooseType = in.nextInt();
			}
			// 如果用戶選擇別克,則給轎車型號賦值為林蔭大道;如果用戶選擇別克,則給轎車型號賦值為GL8;
			type = chooseType == 1 ? "林蔭大道" : "GL8";
		}

		// 用戶選擇寶馬
		else if (chooseBrand == 2) {
			// 轎車品牌賦值為寶馬
			brand = "寶馬";
			System.out.println("請選擇您要租賃的汽車類型:1-X6\t2-50i");
			int chooseType = in.nextInt();
			// 如果輸入1和2以外的數(shù)字,則重新輸入
			while (chooseType < 1 || chooseType > 2) {
				System.out.println("輸入錯誤,請重新選擇您要租賃的轎車型號:");
				chooseType = in.nextInt();
			}
			// 如果用戶選擇寶馬,則給轎車型號賦值為X6;如果用戶選擇寶馬,則給轎車型號賦值為550i;
			type = chooseType == 1 ? "X6" : "550i";
		}

		// 輸出提車信息
		for (int i = 0; i < car.length; i++) {
			if (car[i].getBrand().equals(brand)
					&& car[i].getType().equals(type)) {
				// 計算轎車租金
				System.out.println("請輸入您要租的天數(shù):");
				int days = in.nextInt();
				double sumPrice = calcRent(days, type);
				System.out.println("租車成功,請按照如下車牌號提車:" + car[i].getVehicleId());
				System.out.println("您需要支付:" + sumPrice + "元");
			}
		}

	}

	// 計算轎車租金的方法
	public double calcRent(int days, String type) {
		double price = 0;
		for (int i = 0; i < car.length; i++) {
			if (car[i].getType().equals(type)) {
				price = car[i].getPerRent() * 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;
				}
			}
		}
		return price;
	}

	// 客車租賃方法
	public void bus() {
		String brand = "";
		int count = 0;
		System.out.println("請選擇您要租賃的客車品牌:1-金杯\t2-金龍");
		int chooseBrand = in.nextInt();
		// 如果用戶輸入1和2以外的數(shù)子,則重新輸入
		while (chooseBrand < 1 && chooseBrand > 2) {
			System.out.println("輸入錯誤,請重新選擇您要租賃的轎車品牌:");
			chooseBrand = in.nextInt();
		}
		// 如果用戶選擇金杯,則給客車品牌賦值為金杯;如果用戶選擇金龍,則給客車品牌賦值為金龍;
		brand = chooseBrand == 1 ? "金杯" : "金龍";

		System.out.println("請選擇您要租賃的客車座位數(shù):1-16座\t2-34座");
		int chooseCount = in.nextInt();
		// 如果用戶輸入1和2以外的數(shù)子,則重新輸入
		while (chooseCount < 1 && chooseCount > 2) {
			System.out.println("輸入錯誤,請重新選擇您要租賃的客車座位數(shù):1-16座\t2-34座");
			chooseCount = in.nextInt();
		}
		// 如果用戶選擇16座,則給客車座位數(shù)賦值為16;如果用戶選擇34座,則給客車座位數(shù)賦值為34;
		count = chooseCount == 1 ? 16 : 34;

		// 輸出提車信息
		for (int i = 0; i < bus.length; i++) {
			if (bus[i].getBrand().equals(brand) && bus[i].getSeatCount() == count) {
				// 計算轎車租金
				System.out.println("請輸入您要租的天數(shù):");
				int days = in.nextInt();
				double sumPrice = calcRent(days, count);
				System.out.println("租車成功,請按照如下車牌號提車:" + bus[i].getVehicleId());
				System.out.println("您需要支付:" + sumPrice + "元");
			}
		}
	}

	// 計算客車租金的方法
	public double calcRent(int days, int count) {
		double price = 0;
		for (int i = 0; i < bus.length; i++) {
			if (bus[i].getSeatCount() == count) {
				price = bus[i].getPerRent() * 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;
				}
			}
		}
		return price;
	}
}

第五階段:創(chuàng)建并完成測試類

Test類文章來源地址http://www.zghlxwxcb.cn/news/detail-409994.html

//汽車租賃管理類:測試類
public class Text {

	public static void main(String[] args) {
		//實例化汽車業(yè)務(wù)類
		MotoOperation moto = new MotoOperation();
		//調(diào)用汽車業(yè)務(wù)類中的初始化汽車信息方法
		moto.inti();
		//調(diào)用汽車業(yè)務(wù)類中的汽車租賃方法
		moto.start();
	}
}

到了這里,關(guān)于Java汽車租賃系統(tǒng)1.2-面向?qū)ο?數(shù)組的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java在線租車汽車租賃系統(tǒng)設(shè)計與實現(xiàn)(Idea+Springboot+mysql)

    Java在線租車汽車租賃系統(tǒng)設(shè)計與實現(xiàn)(Idea+Springboot+mysql)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設(shè)計教育和輔導(dǎo)。 所有項目都配有從入門到精通的基礎(chǔ)知識視頻課程,學習后應(yīng)對畢業(yè)設(shè)計答辯。 項目配有對應(yīng)開發(fā)文檔、

    2024年03月10日
    瀏覽(23)
  • Java租賃汽車租車系統(tǒng)設(shè)計與實現(xiàn)(Idea+Springboot+mysql)

    Java租賃汽車租車系統(tǒng)設(shè)計與實現(xiàn)(Idea+Springboot+mysql)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設(shè)計教育和輔導(dǎo)。 所有項目都配有從入門到精通的基礎(chǔ)知識視頻課程,學習后應(yīng)對畢業(yè)設(shè)計答辯。 項目配有對應(yīng)開發(fā)文檔、

    2024年03月14日
    瀏覽(34)
  • 基于Java汽車在線租賃管理系統(tǒng)設(shè)計實現(xiàn)(源碼+lw+部署文檔+講解等)

    基于Java汽車在線租賃管理系統(tǒng)設(shè)計實現(xiàn)(源碼+lw+部署文檔+講解等)

    博主介紹 : ?全網(wǎng)粉絲30W+,csdn特邀作者、博客專家、CSDN新星計劃導(dǎo)師、java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質(zhì)作者、專注于Java技術(shù)領(lǐng)域和畢業(yè)項目實戰(zhàn) ? ?? 文末獲取源碼聯(lián)系 ?? ???? 精彩專欄 推薦訂閱 ???? 不然下次找不到喲 Java項目精品

    2024年02月08日
    瀏覽(20)
  • 基于Java(SpringBoot框架)畢業(yè)設(shè)計作品成品(25)網(wǎng)上在線汽車租賃系統(tǒng)設(shè)計與實現(xiàn)

    基于Java(SpringBoot框架)畢業(yè)設(shè)計作品成品(25)網(wǎng)上在線汽車租賃系統(tǒng)設(shè)計與實現(xiàn)

    博主介紹: 《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設(shè)計教育和輔導(dǎo)。 所有項目都配有從入門到精通的基礎(chǔ)知識視頻課程,免費 項目配有對應(yīng)開發(fā)文檔、開題報告、任務(wù)書、PPT、論文模版

    2024年02月08日
    瀏覽(36)
  • 通俗易懂實現(xiàn)功能強大的實戰(zhàn)項目 springboot+java+vue+mysql 汽車租賃管理系統(tǒng)

    通俗易懂實現(xiàn)功能強大的實戰(zhàn)項目 springboot+java+vue+mysql 汽車租賃管理系統(tǒng)

    ??計算機編程指導(dǎo)師 ??個人介紹:自己非常喜歡研究技術(shù)問題!專業(yè)做Java、Python、微信小程序、安卓、大數(shù)據(jù)、爬蟲、Golang、大屏等實戰(zhàn)項目。 ??實戰(zhàn)項目:有源碼或者技術(shù)上的問題歡迎在評論區(qū)一起討論交流! ?? Java實戰(zhàn) | SpringBoot/SSM Python實戰(zhàn)項目 | Django 微信小

    2024年01月19日
    瀏覽(42)
  • 汽車租賃管理系統(tǒng)/汽車租賃網(wǎng)站的設(shè)計與實現(xiàn)

    汽車租賃管理系統(tǒng)/汽車租賃網(wǎng)站的設(shè)計與實現(xiàn)

    摘 ???? 要 租賃汽車走進社區(qū),走進生活,成為當今生活中不可缺少的一部分。隨著汽車租賃業(yè)的發(fā)展,加強管理和規(guī)范管理司促進汽車租賃業(yè)健康發(fā)展的重要推動力。汽車租賃業(yè)為道路運輸車輛一種新的融資服務(wù)形式、廣大人民群眾一種新的出行消費方式和汽車生產(chǎn)廠家

    2024年02月12日
    瀏覽(32)
  • 基于java swing和mysql實現(xiàn)的汽車租賃管理系統(tǒng)(源碼+數(shù)據(jù)庫+文檔+運行指導(dǎo)視頻)

    基于java swing和mysql實現(xiàn)的汽車租賃管理系統(tǒng)(源碼+數(shù)據(jù)庫+文檔+運行指導(dǎo)視頻)

    本項目是一套基于java swing和mysql實現(xiàn)的汽車租賃管理系統(tǒng),主要針對計算機相關(guān)專業(yè)的正在做畢設(shè)的學生與需要項目實戰(zhàn)練習的Java學習者。 包含:項目源碼、項目文檔、數(shù)據(jù)庫腳本等,該項目附帶全部源碼可作為畢設(shè)使用。 項目都經(jīng)過嚴格調(diào)試,確??梢赃\行! 該系統(tǒng)功能

    2024年02月10日
    瀏覽(20)
  • 租車系統(tǒng)開發(fā)/多功能租車平臺微信小程序源碼/汽車租賃系統(tǒng)源碼/汽車租賃小程序系統(tǒng)

    租車系統(tǒng)開發(fā)/多功能租車平臺微信小程序源碼/汽車租賃系統(tǒng)源碼/汽車租賃小程序系統(tǒng)

    源碼介紹: 多功能租車平臺微信小程序源碼,作為汽車租賃、摩托車租車平臺系統(tǒng)源碼,是小程序系統(tǒng)。基于微信小程序的汽車租賃系統(tǒng)源碼。 開發(fā)環(huán)境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclipse),微信開發(fā)者工具 技術(shù)說明: springboot mybatis 微信小程序 代碼注釋齊全

    2024年02月02日
    瀏覽(39)
  • 基于springboot汽車租賃系統(tǒng)

    基于springboot汽車租賃系統(tǒng)

    功能如下圖所示 ??Spring Boot汽車租賃系統(tǒng)的設(shè)計旨在滿足不斷增長的租車市場需求,并通過簡化開發(fā)和部署流程來提供方便的租車解決方案。系統(tǒng)采用了現(xiàn)代化的架構(gòu),主要基于以下技術(shù)棧: Spring Boot :作為后端的核心框架,Spring Boot提供了快速開發(fā)、簡化配置以及自動化

    2024年02月05日
    瀏覽(19)
  • 基于Springboot的汽車租賃系統(tǒng)

    摘要 首先,論文一開始便是清楚的論述了系統(tǒng)的研究內(nèi)容。其次,剖析系統(tǒng)需求分析,弄明白“做什么”,分析包括業(yè)務(wù)分析和業(yè)務(wù)流程的分析以及用例分析,更進一步明確系統(tǒng)的需求。然后在明白了系統(tǒng)的需求基礎(chǔ)上需要進一步地設(shè)計系統(tǒng),主要包括軟件架構(gòu)模式、整體功能模塊、

    2024年02月15日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包