有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java递归绘制

请参见上面的描述

但是,我的代码正在向数组中添加不正确颜色的圆圈:

我有一个颜色baseColor,它包含一个变量int baseGreen。在每次递归调用过程中,该int值都会减小,目的是为每组3个圆更改绿色的类型

如果有人能猜出为什么会发生这种情况,我将不胜感激。谢谢


共 (1) 个答案

  1. # 1 楼答案

    在将基色传递到方法中时,不需要跟踪基色

    这是一种使颜色逐渐变暗的简单方法

    public void createCircles(int x, int y, int rad, Color parentColor){
        Circle myCircle = new Circle(x, y, rad, parentColor);
        ...
        if(!(rad<1)){
            ...
            Color myColor = parentColor.darker();
            createCircles(x - (2*rad), y, rad/3, myColor);
            createCircles(x, y, rad/3, myColor);
            createCircles(x + (2*rad), y, rad/3, myColor);
        }
    }