拆分
- 先实现直角三角形
- 实现普通的等腰三角形
- 把等腰三角中的符号转换为数字
实现直角三角形
1
3
5
7
9
确定每一行的符号
public class sanjiao {
public static void main(String[] args) {
// 输出一个九行的直角三角形
int line_num = 9;
int char_num = 1;
// 实现直角三角形
// 1,3,5 7 9
for (int i = 1; i <= line_num; i++) {
System.out.println(i);
System.out.println("需要打印的符号是" + char_num);
// 完成了符号的打印后,加二
char_num += 2;
}
}
}
确定每一行的输出内容
开发了一个功能。n为几,输出一行几个的符号
for (int i = 0; i < n; i++) {
System.out.print("*");
}
实现一个直角三角形,六行
public class sanjiao {
public static void main(String[] args) {
// 输出一个六行的直角三角形
int line_num = 6;
int char_num = 1;
// 实现直角三角形
// 1,3,5 7 9
for (int i = 1; i <= line_num; i++) {
for (int j = 0; j < char_num; j++) {
System.out.print("*");
}
System.out.println();
// 完成了符号的打印后,加二
char_num += 2;
}
}
}
实现等腰三角形
public class sanjiao {
public static void main(String[] args) {
// 输出一个六行的直角三角形
int line_num = 5; // 总行数
int char_num = 1; // 符号数量
int space_num; // 空格数量
// 实现直角三角形
// 1,3,5 7 9
for (int row_num = 1; row_num <= line_num; row_num++) {
// 输出空格
space_num = line_num - row_num;
for (int n = 0; n < space_num; n++) {
System.out.print(" ");
}
// 输出符号
for (int j = 0; j < char_num; j++) {
System.out.print("*");
}
System.out.println();
// 完成了符号的打印后,加二
char_num += 2;
}
}
}
最终形态
public class sanjiao {
public static void main(String[] args) {
// 输出一个六行的直角三角形
int line_num = 9; // 总行数
int char_num = 1; // 符号数量
int space_num; // 空格数量
// 实现直角三角形
// 1,3,5 7 9
for (int row_num = 1; row_num <= line_num; row_num++) {
// 输出空格
space_num = line_num - row_num;
for (int n = 0; n < space_num; n++) {
System.out.print(" ");
}
// 前一部分输出12345
for (int p = 1; p <= row_num; p++) {
System.out.print(p);
}
// 前一部分输出12345
for (int q = row_num - 1; q >= 1; q--) {
System.out.print(q);
}
System.out.println();
// 完成了符号的打印后,加二
char_num += 2;
}
}
}