java写花束_Java作业 题目:16版.情人节送玫瑰花
1、實驗要求
本實驗要求:以情人節送花為業務背景,體驗自定義異常以及異常處理機制。
1-1. 業務說明:
1-1.1. 本實驗以情人節送花為業務背景,女方提出送花需求,男方送出鮮花。
1-1.2.?當女方提出送花數超過男方可承受范圍(例如:100朵)時,需要拋出異常。
1-2. 創建工程并配置環境:
1-2.1. 限制1. 創建實驗工程,命名為:SE_JAVA_EXP_E038;
1-2.2. 限制2. 創建包,命名為:cn.campsg.java.experiment;
1-2.3.?限制3. 創建包,命名為:cn.campsg.java.experiment.exception。
1-3. 創建送花異常類:
1-3.1. 限制1. 在cn.campsg.java.experiment.exception 包中創建異常類:
1)異常類名:RoseException
1-3.2. 為異常類RoseException創建0參構造器:
1)在RoseException構造器內調用父類構造器。
1-3.3. 為異常類RoseException創建1參構造器(參數為字符串類型):
1)在RoseException構造器內調用父類1參構造器。
1-4. 創建送花業務類:
1-4.1. 限制1. 在cn.campsg.java.experiment包中創建送花業務類:
1)業務類類名:Rose
1-4.2. 為類Rose創建私有屬性:
1)男方鮮花持有數:int total;
1-4.3. 為類Rose創建0參構造器:
1-4.4. 為類Rose創建1參構造器:
1)在構造器內對total屬性賦值:鮮花持有數 = 構造器參數值。
1-4.5. 為Rose類創建如下方法:
訪問權限
方法名稱
返回值
方法參數
參數說明
方法說明
public
giveRose
void
int num
送花數量
模擬“送花”
1)該方法用于模擬男方向女方送花。
1-4.6. 送花業務邏輯描述如下:
1)當送花需求(參數)小于1時,方法輸出以下信息提示錯誤:
“送花的數量不正確:數量不能小于1!”
2)當送花需求(參數)大于男方的鮮花持有數(total)時,方法拋出異常;
異常為:RoseException,錯誤信息:"沒錢買" + num + "支玫瑰花"
3)當有送花需求時,男方鮮花已經送完(total = 0),方法拋出異常;
異常為:RoseException,錯誤信息:"沒錢買" + num + "支玫瑰花"
4)當送花需求(參數)小于等于男方的鮮花持有數(total)時,輸出如下信息:
"親愛的,送你" + 送花數量 + "朵玫瑰花!"
5)同時更新男方的鮮花持有數(total):total = total - num。
1-5. 顯示送花的結果:
1-5.1. 限制1. 在cn.campsg.java.experiment包中創建主類:MainClass;
1-5.2. 為MainClass創建入口主方法:main;
1-5.3. 在main中,調用Rose的1參構造器創建1個Rose對象;
1-5.4. 提示用戶輸入送花數量,提示信息:你想送女朋友多少朵玫瑰(數字):
1-5.5. 接收用戶輸入的送花數;
1-5.6. 在main中,執行送花操作并捕獲送花時可能出現的異常;
1-5.7. 確保送花操作無論是否成功都顯示:無論如何,我都是愛你的。
2、實現思路
2-1. 創建工程并配置環境。
2-2. 創建送花異常類:
2-2.1. 在cn.campsg.java.experiment.exception 包中創建異常類:
1)異常類名:RoseException
2-2.2. 為RoseException類創建0參構造器:
1)在RoseException構造器內調用父類0參構造器。
2-2.3. 為RoseException類創建1參構造器,其形式如下:
+提示
public?RoseException(String msg){
}
1)在構造器內調用父類的1參構造器:super(msg);
2-3. 創建送花業務類:
2-3.1. 在cn.campsg.java.experiment包中創建送花業務類Rose;
2-3.2. 為Rose類創建私有屬性,男方鮮花持有數:int total;
2-3.3. 為Rose類創建0參構造器;
2-3.4. 為Rose類創建1參構造器,其形式如下:
+提示
public?Rose (int total){
}
1)在構造器內為屬性total賦值:total = total - num。
2-3.5. 為Rose類創建送花方法:giveRose并申明自定義異常,其形式如下:
+提示
public?void?giveRose(int?num) throws?RoseException {
}
2-3.6. giveRose方法業務邏輯如下;
1)當送花需求(參數)小于1時,方法輸出以下信息提示錯誤:
“送花的數量不正確:數量不能小于1!”
2)當送花需求(參數)大于男方的鮮花持有數(total)時,方法拋出異常;
異常為:RoseException,錯誤信息:"沒錢買" + num + "支玫瑰花"
3)當有送花需求時,男方鮮花已經送完(total = 0),方法拋出異常;
異常為:RoseException,錯誤信息:"沒錢買" + num + "支玫瑰花"
+?提示
if?(total <= 0 || num?> total)
throw?new?RoseException("沒錢買" + num + "支玫瑰花");
4)當送花需求(參數)小于等于男方的鮮花持有數(total)時,輸出如下信息:
"親愛的,送你" + num + "朵玫瑰花!"
5)同時更新男方的鮮花持有數(total):total = total - num。
+?提示
System.out.println("親愛的,送你"?+ num?+ "朵玫瑰花!");
this.total?-= num;
2-4. 顯示送花的結果:
2-4.1. 在包cn.campsg.java.experiment中創建業務主類:MainClass;
2-4.2. 在MainClass中定義主方法:main;
2-4.3. 接收用戶輸入的送花數:
1) 要求用戶輸入送花數,提示語句:你想送女朋友多少朵玫瑰(數字):。
2)創建Scanner對象,設置參數:System.in:
+?提示
Scanner in = new?Scanner(System.in);
3)調用Scanner的nextInt方法獲取用戶輸入的送花數。
2-4.4. 在main方法中,創建Rose對象并初始化男方擁有100多鮮花:
+?提示
Rose rose?= new?Rose(100);
2-4.5. 在main中,執行送花操作并捕獲送花時可能出現的異常:
1)調用rose的giveRose函數,并傳入用戶輸入的鮮花數;
2)捕捉giveRose函數可能拋出的RoseException。
3)在catch塊中打印RoseException對象中的錯誤信息。
2-4.6. 增加finally塊,在finally塊中向控制臺輸出:無論如何,我都是愛你的。
+?提示
try?{
// 獲取用戶輸入的玫瑰花
int?num?= scan.nextInt();
// 開始送花
rose.giveRose(num);
} catch?(RoseException e) {
System.out.println(e.getMessage());
} finally?{
scan.close();
System.out.println("無論如何,我都是愛你的!\n");
}
3、驗證與測試
3-1. 在工程中定位主類MainClass。
3-2. 右鍵點擊MainClass類,依次選擇:Run As->Java Application。
3-3. 運行程序,查看輸出結果是否符合預期。
總結
以上是生活随笔為你收集整理的java写花束_Java作业 题目:16版.情人节送玫瑰花的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界天空之城服务器位置,我的世界1.
- 下一篇: 一个对小学生的随机生成的四则运算试题