用Java编菱形图案程序

2024-11-26 08:45:25
推荐回答(1个)
回答1:

/**
 * 输出各种三角形,菱形,正方形
 * @author young
 *
 */
public class TrianglePrint {
// 正三角
public static void p1() {
int n = 5;
int a = 0;
int b = 0;
for (int i = 1; i <= n; i++) {
if (a != (n - i)) {
System.out.print(" ");
a++;
i = i - 1;
} else if (b != (2 * i - 1)) {
System.out.print("*");
b++;
i = i - 1;
} else if (a == (n - i) && b == (2 * i - 1)) {
System.out.println();
a = 0;
b = 0;
}
}
}

// 倒三角
public static void p2() {
int n = 5;
int a = 0;
int b = 0;
for (int i = n; i >= 1; i--) {
if (a != (n - i)) {
System.out.print(" ");
a++;
i = i + 1;
} else if (b != (2 * i - 1)) {
System.out.print("*");
b++;
i = i + 1;
} else if (a == (n - i) && b == (2 * i - 1)) {
System.out.println();
a = 0;
b = 0;
}
}
}

// 倒三角:用户决定行数
public static void sta(int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for (int k = 0; k < 2 * (n - i) - 1; k++) {
System.out.print("*");
}
System.out.println();

}
}

// 输出正方形
public static void zf(int N) {
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
if (j == 1 || j == N || i == 1 || i == N)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}

// 输出正菱形
public static void lx(int n) {
for (int i = 0; i < n - 1; i++) {
for (int x = i + 1; x < n; x++) {
System.out.print(" ");
}
for (int y = 0; y < (i + 1) * 2 - 1; y++) {
System.out.print("*");
}
System.out.println();
}
for (int i = 0; i < n; i++) {
for (int x = 0; x < i; x++) {
System.out.print(" ");
}
for (int y = i; y < 2 * n - i - 1; y++) {
System.out.print("*");
}
System.out.println();
}
}

public static void main(String[] args) {
p1(); // 正三角
System.out.println("------------");
p2(); // 倒三角
System.out.println("------------");
sta(5); // 倒三角
System.out.println("------------");
zf(5); // 正方形
System.out.println("------------");
lx(6); // 菱形

}
}

 总有一个是你要的