如何解决在applet中创建递归矩形-AP计算机科学递归Lab17b
这是最终目标:
该问题要求我进行递归,以填充上图所示的矩形,并且我能够将这些矩形扩展到左上角,但不能扩展到其他角。对于如何在其他角落绘制矩形,我需要帮助:我尝试了增加参数(maxX和maxY)之类的方法,但它们也会增大矩形的大小。
我的程序是:
// This is the 100 point version.
// Xingjian Wang
// 2020
// APCS,Chris Robinson
import java.awt.*;
import java.applet.*;
public class Testing02 extends Applet {
public void paint(Graphics g) {
drawSquare1(g,1000,650,6);
}
public void drawSquare1(Graphics g,int maxX,int maxY,int i) {
int midX = maxX / 2;
int midY = maxY / 2;
int startWidth = maxX / 3;
int startHeight = maxY / 3;
int tlX = midX - (startWidth / 2);
int tlY = midY - (startHeight / 2);
if (i == 6) {
g.fillRect(tlX,tlY,startWidth,startHeight);
drawSquare1(g,maxX / 2,maxY / 2,i - 1);
}
else if (i == 0) {
draw4(g,tlX,startHeight);
}
else {
draw4(g,i - 1);
}
}
public void draw4(Graphics g,int tlX,int tlY,int startWidth,int startHeight)
{
g.fillRect(tlX,startHeight);
g.fillRect(tlX,tlY + startHeight * 3,startHeight);
g.fillRect(tlX + startWidth * 3,startHeight);
}
}
这是结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。