情人节送玫瑰花Java实现

2023-11-08

//RoseException.java
package cn.campsg.java.experiment.exception;


public class RoseException extends Exception {
    public RoseException() {}
    public RoseException(String msg){
        super(msg);
     }
}
//Rose.java
package cn.campsg.java.experiment;

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

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


//MainClass.java
package cn.campsg.java.experiment;

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

import java.util.Scanner;

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

情人节送玫瑰花Java实现 的相关文章

随机推荐

  • matlab中未定义与 ‘cell‘ 类型的输入参数相对应的运算符 ‘+‘ 的解决方案

    在函数文件中写入以下内容 function re fun a b varargin if nargin 2 re a b elseif nargin 3 c varargin 1 re a b c else error wrong end
  • 排序法 C语言常考的十大排序法 数列、字符的排序

    通过对近各大试卷题型分析 总结出 对于数据排序的十大方法 希望对大家有所帮助 方法一 冒泡排序法 升序排序法 方法二 选择排序法 方法三 插入排序法 方法四 希尔排序法 Shell Sort 方法五 归并排序法 方法六 快速排序法 交换排序
  • 一文搞懂Python时间序列预测(步骤,模板,python代码)

    预测包括 数值拟合 线性回归 多元回归 时间序列 神经网络等等 对于单变量的时间序列预测 模型有AR MA ARMA ARIMA 综合来说用ARIMA即可表示全部 数据和代码链接 数据和Jupyter文件 以预测美国未来10年GDP的变换情
  • PyTorch指定GPU训练 CUDA_VISIBLE_DEVICES

    方法一 import os import torch os environ CUDA VISIBLE DEVICES 4 5 方法二 CUDA VISIBLE DEVICES 4 python py
  • FPGA零基础学习之Vivado-LED流水灯实验

    FPGA零基础学习之Vivado LED流水灯实验 本系列将带来FPGA的系统性学习 从最基本的数字电路基础开始 最详细操作步骤 最直白的言语描述 手把手的 傻瓜式 讲解 让电子 信息 通信类专业学生 初入职场小白及打算进阶提升的职业开发者
  • QT播放音频方法

    首先需要包含的头文件包含 include
  • opencv 07 用Hausdorff距离做形状匹配(shape_example) vs2015

    01 资源 OpenCV自带的行人检测demo opencv samples cpp shape example cpp shape example cpp可以图形形状相似对比 通过判断Hausdorff距离的结果做出最匹配判断 Hausd
  • Schedule

    Part1背景 定时任务 在我们实际开发中经常会用到 比如 Linux 的 Corntab Django 的 Django celery Django corntab 等 但是这些工具和框架总有某些不合适的地方 比如不灵活 笨重等 今天我们
  • 【算法】模拟退火

    文章目录 1 模拟退火介绍 1 1模拟退火的可行性 1 2退火模型 2 详解退火 2 1退火过程 2 2各变量说明 2 2 1关于接收概率 3 退火模拟求根号n的值 4 洛谷POJ 2420 1 模拟退火介绍 模拟退火是模拟物理上退火方法
  • ionic修改控件内置class样式

    背景 使用ionic中控件 有时候他的样式不能满足实际开发需求 需要改改一些样式 ion datetime 时间控件 想修改一下默认的白色背景 修改后 代码 在variables scss文件中的root伪类中增加属性 root 修改时间控
  • 正在设定sun-java6-jre解决方法

    今天搭建一个linux的开发环境遇到一个很无解的问题 出现一个 正在设定 sun java6 jre 的界面 然后鼠标接盘都操作不了 还是惊叹网络的强大 在网上搜索到一个解决方案 才发现遇到问题特别时一个很无解的问题 要即使的上网搜索一下
  • 计算机图形学 期末复习 微课版 孔令德 六、自由曲线与曲面 期末复习

    重点 公式 连续性条件 参数连续性 0阶参数连续性 若两个相邻的曲线段在首末点相连接 C 0 1阶参数连续性 若两个相邻曲线段在相交点处有相同的一阶导数 C 1 2阶参数连续性 若两个相邻曲线段的方程在相交点处具有相同的一阶和二阶导数 C
  • 基于CCG算法的IEEE33配电网两阶段鲁棒优化调度matlab

    目录 1 前言 2基本内容 2 1 配网两阶段鲁棒模型 2 2 求解步骤 3部分程序 4程序结果 5程序链接 1 前言 鲁棒优化是电力系统研究的热点 而两阶段鲁棒和分布鲁棒研究就成为各类期刊 sci ei 核心 的宠儿 最简单的思路是通过改
  • unity3D塔防游戏-虚拟现实大作业-包含源程序、导出exe文件,游戏设计报告

    unity3d塔防游戏 下载链接在文末 点我下载资源 https download csdn net download weixin 43474701 35073702
  • franchisor and franchisee

    What is the difference between a franchisor and a franchisee The franchisor is the person or corporation that owns the t
  • SpringCloud(四)注册中心之Eureka

    SpringCloud 四 注册中心之Eureka 第一代 Spring Cloud 核心组件 从形式上来说 Feign一个顶三 Feign RestTemplate Ribbon Hystrix 常用的服务注册中心 Eureka Naco
  • 【ahk】映射按键到执行函数

    global zFuncCallPattern w IsFuncCallStr callFuncStr Return RegExMatch callFuncStr O zFuncCallPattern matchObj EvalStrArg
  • STM32 基础系列教程 33 - Lwip_tcp_client

    前言 学习stm32 以太网接口使用 及LWIP使用 用LWIP快速实现一个TCP client网络通信功能 学会基本LWIP的网络数据接收与发送功能 让初学者了解lwip 关于Lwip更多的功能介绍将会在后期的STM32 中级教程中介绍
  • 前端开发利器VSCODE推荐

    VSCODE 一个运行于 Mac OS X Windows和 Linux 之上的 针对于编写现代 Web 和云应用的跨平台源代码编辑器 注意 VSCODE适用于前端开发 仅仅是一个编辑器 并不是类似于Visual Studio 2015一样
  • 情人节送玫瑰花Java实现

    RoseException java package cn campsg java experiment exception public class RoseException extends Exception public RoseE