代码如下,不解释。。。
public class TestXing {
static int tt = 40; // 画布总的长和宽
public static void main(String[] args) {
TestXing tp = new TestXing();
p("直角三角形");
tp.直角三角形(10);
p("等腰三角形");
tp.等腰三角形(11);
p("沙漏");
tp.沙漏(11);
}
private static void p(String s) {
System.out.println(s);
}
// 直角三角
public void 直角三角形(int 高度) {
for (int i = 1; i <= 高度; i++) {
p(sort1(i));
}
}
// 等腰三角
public void 等腰三角形(int 高度) {
for (int i = 1; i <= 高度*2; i++) {
if (i % 2 == 1)
p(sort2(i));
}
}
// 沙漏
public void 沙漏(int 半高度) {
for (int i = 半高度*2; i >= 1; i--) {
if (i % 2 == 1)
p(sort2(i));
}
this.等腰三角形(半高度);
}
private String sort1(int cu) {
String str = "";
for (int i = 0; i < tt; i++) {
str += i < cu ? "*" : " ";
}
return str;
}
private String sort2(int cu) {
String str = "";
for (int i = 1; i <= tt; i++) {
str += i >= (tt - cu) / 2 && i < (tt + cu) / 2 ? "*" : " ";
}
return str;
}