我想开始创建分形,我觉得这很有意思。 但是我无法使用以下代码。
void drawcircle(int x, int y, int radius) {
g.drawOval(x,y, radius,radius); //g is to call the graphic functions
if(radius>2)
{
radius=radius/2;
drawcircle(x, y, radius);
}
}
它应该给出同心圆,但是根本就没有输出。即使错误的输出也会起作用,因为它允许我修复它,但框架中没有任何东西出现。在输出窗口中,它显示了一大块红线,但我不明白错误是什么。有人能指出我的错误吗? 非常感谢。 编辑:代码使用如下。代码实际上并不适用于我的系统上的这些值,但它也不适用于任何其他值。
int x=0; int y=0;
drawcircle(x,y,256);
这是我得到的错误:
编辑:感谢所有评论,我想出了代码的问题。正确的代码是
void conccircle(int x,int y, int radius,Graphics G) {
G.drawOval(x-radius,y-radius,radius*2,radius*2);
if(radius>=2)
{
radius=radius/2;
conccircle(x,y,radius,G);
}
}
答案 0 :(得分:0)
我明白了,感谢所有评论的人!
void conccircle(int x,int y, int radius,Graphics G) {
G.drawOval(x-radius,y-radius,radius*2,radius*2);
if(radius>=2)
{
radius=radius/2;
conccircle(x,y,radius,G);
}}