情人节送玫瑰花Java实现

//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");
        }
    }
}

  • 5
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 ASCII 字符在终端中绘制玫瑰花。例如: ``` def print_rose(): for i in range(10): for j in range(10 - i): print(" ", end="") for k in range(2 * i + 1): print("*", end="") print("") for i in range(9, 0, -1): for j in range(10 - i): print(" ", end="") for k in range(2 * i - 1): print("*", end="") print("") print_rose() ``` 运行上面的代码会在终端中输出一个玫瑰花的图形。 ### 回答2: 情人节玫瑰花实现可以通过Python的图形化界面库来完成,比如Tkinter。以下是一个简单的实现示例: ```python import tkinter as tk def draw_rose(canvas, x, y, size): # 绘制花瓣 for angle in range(0, 360, 20): radians = math.radians(angle) x_offset = size * math.cos(radians) y_offset = size * math.sin(radians) canvas.create_line(x, y, x + x_offset, y + y_offset, fill="red", width=2) # 绘制花蕊 canvas.create_oval(x - size / 5, y - size / 5, x + size / 5, y + size / 5, fill="yellow") # 创建窗口 window = tk.Tk() window.title("情人节玫瑰花") # 创建画布 canvas = tk.Canvas(window, width=500, height=500) canvas.pack() # 绘制玫瑰花 draw_rose(canvas, 250, 250, 100) # 进入消息循环 window.mainloop() ``` 运行以上代码,将会弹出一个窗口,其中绘制了一个简单的玫瑰花图案。可以根据需要调整绘制的位置、尺寸和颜色等参数来实现更加丰富多彩的玫瑰花效果。该示例仅作为简单的演示,实际实现方式可以根据需求进行更多的定制和优化。 ### 回答3: 情人节玫瑰花在Python中可以通过使用turtle模块和一些数学计算来绘制出来。下面是一个简单的实现: ```python import turtle # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pen = turtle.Turtle() pen.color("red") pen.speed(10) # 绘制玫瑰花的轮廓 pen.up() pen.goto(0, -200) pen.down() pen.begin_fill() pen.fillcolor("red") pen.left(50) pen.forward(100) pen.circle(50, 180) pen.left(260) pen.circle(50, 180) pen.forward(100) pen.end_fill() # 绘制玫瑰花的花瓣 def draw_petals(): for _ in range(18): pen.left(35) pen.forward(80) pen.left(45) pen.forward(80) pen.left(105) pen.forward(80) pen.left(45) pen.forward(80) pen.left(10) draw_petals() # 结束绘画 pen.hideturtle() canvas.exitonclick() ``` 这段代码使用turtle模块创建了一个红色的画笔,然后在黑色的画布上绘制了玫瑰花的轮廓和花瓣。玫瑰花的轮廓通过绘制两个半圆形状实现,花瓣则是通过循环绘制多个小花瓣组合而成。 注意:以上代码只是一个简单的实现,如果想要实现更加逼真的玫瑰花效果,可能需要更复杂的数学计算和画笔操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值