打印图形
public static void showEquilateral(int row) { // 输出等腰三角形图形
for (int i = 1; i < row; i++) { // 外层循环控制输出的行数
for (int j = 1; j <= row - i; j++) { // j表示输出的空格数,其空格数=总行数-1
System.out.print(" ");
}
for (int x = 1; x <= i * 2 - 1; x++) { // x表示输出的字符"*",其个数=当前行数*2-1
System.out.print("*");
}
System.out.println(); // 每输出一行就换行一次
}
}
public static void showRhombus(int row) { // 输出菱形图形
if (row >= 1) { // 判断传入的行数
int x, y;
for (x = 1; x <= row; x++) { // 先输出上半部分的正三角形
for (y = 1; y <= row - x; y++) // 控制左边输出的空格数
System.out.print(" ");
for (y = 1; y <= 2 * x - 1; y++) // 控制输出的"#"数
System.out.print("#");
System.out.println(); // 每输出一行就换行一次
}
for (x = 1; x <= row; x++) { // 输出下半部分的正三角形
for (y = 1; y <= x; y++) // 控制左边输出的空格数,与上半部分正好相反
System.out.print(" ");
for (y = 1; y <= 2 * (row - x) - 1; y++) // 控制输出的"#"数
System.out.print("#");
System.out.println(); // 每输出一行就换行一次
}
} else {
System.out.println("您输入的行数错误,请重新输入!!!");
}
}
public static void showLettersTriangle(int row) { // 输出由小写字母排列的直角三角形
for (int i = 1; i <= row; i++) { // 外层循环row次,输出row行
for (int x = 1; x < i; x++) // 字母由小到大排列输出
System.out.print((char) (x + 96)); // x + 96是将数字转换成小写字母
for (int y = i; y != 0; y--) // 字母由大到小排列输出
System.out.print((char) (y + 96));
System.out.println(); // 每输出一行就换行一次
}
}
public static void main(String[] args) {
System.out.println("(1) 输出等腰三角形图案");
showEquilateral(10); // 输出行数为7的等腰三角形图案
System.out.println("(2) 输出菱形图案");
showRhombus(5); // 输出行数为5的菱形图案
System.out.println("(3) 输出字母排列的直角三角形图案");
showLettersTriangle(5); // 输出行数为5的字母排列的直角三角形图案
}