学校の課題で、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 メソッドをリファクタリングしたほうがいいのではないでしょうか?知らない...