public class Study{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("打印几行的三角形:");
int a = scanner.nextInt();
sanjiao(a);
System.out.println("三角形打印完毕");
System.out.println("打印几行的菱形:");
int b = scanner.nextInt();
lingxing(b);
System.out.println("菱形打印完毕");
}
//倒立的三角形
public static void sanjiao(int a) {
for (int i = 0; i < a; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(" ");
}
for (int k = 0; k < 2 * a - i * 2 - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
//菱形
public static void lingxing(int a) {
//先打印菱形上半部分
for (int i = 1; i <= a / 2 + 1; i++) {
for (int j = 0; j <= a / 2 - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
//打印菱形下半部分
for (int i = a / 2; i >= 1; i--) {
for (int j = a / 2; j >= i; j--) {
System.out.print(" ");
}
for (int k = 1; k <= i * 2 - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}
这类问题主要是要考虑好到底每一行需要打印多少空格和星号。