JAVA——附加作业2——情人节送花

实验内容:本实验以情人节送花为业务背景,女方提出送花需求,男方送出鲜花,
体验自定义异常以及异常处理机制。当女方提出送花数超过男方可承受范围(例如:
100 朵)时,需要抛出异常。
创建工程并配置环境

  1. 工程名:SE_JAVA_EXP_E02。
  2. 创建包,取名:cn.com.java.experiment 和 cn.com.java.experiment.exception。
  3. 在包 cn.com.java.experiment.exception 下创建异常类 RoseException(给出异常信息)
  4. 在 cn.com.java.experiment 包中创建送花业务类 Rose
    定义一个模拟男方向女方送花的方法 giveRose。
    送花业务逻辑描述如下
    1.当送花需求(参数)小于 1 时,方法输出以下信息提示错误: “送花
    的数量不正确:数量不能小于 1!” 
    2.当送花需求(参数)大于男方的鲜花持有数(total)时,方法抛出异常 RoseException,错误信息:“没钱买” + num + “支玫瑰花”
    3.当有送花需求时,男方鲜花已经送完(total = 0),方法抛出异常为:RoseException,错误信息:“没钱买” + num + “支玫瑰花”
    4.当送花需求(参数)小于等于男方的鲜花持有数(total)时,输出如下信息: “亲爱的,送你” + 送花数量 + “朵玫瑰花!”
    5.同时更新男方的鲜花持有数(total):total = total - num。
  5. 在包 cn.com.java.experiment 下创建主类:MainClass。
    提示用户输入送花数量,提示信息:你想送女朋友多少朵玫瑰(数字):
    接收用户输入的送花数;
    执行送花操作并捕获送花时可能出现的异常;
    确保送花操作无论是否成功都显示:无论如何,我都是爱你的。

代码
Mainclass

package cn.com.java.experiment;

import java.util.Scanner;

import cn.com.java.experiment.exception.RoseException;

public class MainClass {
	public static void main (String gras[]) 
	{
		System.out.println("偷偷告诉我,你能接受的玫瑰数?:");
		Scanner in = new Scanner(System.in);
		int total = in.nextInt();
		Rose rose = new Rose(total);
		System.out.println("你想送女朋友多少朵玫瑰?:");       
        try {
           int number = in.nextInt();
           rose.giveRose(number);
        } 
        catch (RoseException e) {
             System.out.println(e.getMessage());
        } 
        finally {
           in.close();
           System.out.println("无论如何,我都是爱你的!");
        }
     }
}

Rose

package cn.com.java.experiment;

import cn.com.java.experiment.exception.RoseException;

public class Rose {
	private int total;
	public Rose() {
		this.total=0;
	}
	public Rose(int total) {
		this.total=total;
	}
     public void giveRose(int number) throws RoseException { 
          if(number < 1) {
        	  throw new RoseException("送花的数量不正确:数量不能小于1!");
          }
          else if (number>total) 
          {
              throw new RoseException("没钱买" + number + "支玫瑰花。");
          }
          else if (total==0)
          {
        	  throw new RoseException("没钱买" + number + "支玫瑰花。");
          }
          else 
          {
        	  System.out.println( "亲爱的,送你" + number + "朵玫瑰花!");
        	  this.total -= number;
          }
      }
 }

Roseexception

package cn.com.java.experiment.exception;

public class RoseException extends Exception {
	public RoseException() {}  //构造函数
	public RoseException(String s) {
		super(s);
	}                    //调用父类构造函数
}

截图
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值