在学校作业中,我们必须在 java 中绘制一个带星号的梯形。构造函数就像
Trapezoid(int tWidth, int bWidth, char signA, char signB, int margin)
tWidth:是顶部宽度,bWidth:底部宽度,signA:前景符号,signB:背景符号和margin:bWidth的边距(左右)。
我的main()
课看起来像这样:
Trapezoid t = new Trapezoid(3, 9, '*', '-', 2);
t.printTrapezoid();
那么它应该是这样的:
-----***-----
----*****----
---*******---
--*********--
该printTrapezoid()
方法如下所示:
int width = 2* margin + bWidth;
int length = (width - tWidth) / 2;
while (tWidth <= bWidth) {
printChar(signB, length);
printChar(signA, tWidth);
printChar(signB, length);
System.out.println();
tWidth++;
}
printChar() 方法如下所示:
printChar(char signB, int length) {
for (int i = 0; i < length; i++) {
System.out.print(signB);
}
}
所以。这对我来说很好。但我认为还有一些其他更好的解决方案。下一个练习是t.rotate()
在main()
课堂上旋转这个梯形。所以它看起来像:
--*********--
---*******---
----*****----
-----***-----
我不知道该怎么做。任何人都可以给我一个提示吗?拜托,我不想要这里的解决方案。只是提示我如何解决它。也许重构draw方法更好?我不知道...