正三角代码:
1 package BasicType;
2 /**
3 * 封装一个可以根据用户传入值来打印正三角的方法
4 * @author Administrator
5 */
6
7 public class Enme {
8 //n代表打印的层数
9 public static void print_positive_triangle(int n){
10 //第一层1个,第二层三个,第三层5个...类比退出第n层就是last个*
11 int last = 2*(n-1)+1;
12 //控制打印多少层
13 for (int i=0;i<n;i++)
14 { //计算出每一层左边要填充空格的个数
15 int full_left = last/2-i;
16 //打印完一层后需要换行
17 System.out.println("");
18 //控制本层要打印的样式,默认打印出正方形
19 for(int j=0;j<=last;j++){
20 //如果j比要填充的空格数量少或者相等或j大于填充的*所占用的位置数与空格填充的位置数之和,就打印空格
21 if (j<=full_left||j>full_left+2*i+1){
22 System.out.print(" ");
23 }
24 else{
25 System.out.print("*");
26 }
27 }
28 }
29 }
30
31 public static void main(String[] args) {
32 print_positive_triangle(5);
33 }
34 }
倒三角代码:
1 public class Enme {
2
3 //打印倒三角
4 public static void print_nagative_triangle(int n){
5 //最多*的那一层*的个数
6 int last = 2*n-1;
7 //控制打印多少层
8 for (int i=n-1;i>=0;i--)
9 { //计算出每一层左边要填充空格的个数
10 int full_left = n-i-1;
11 System.out.println("");
12 for(int j=0;j<last;j++){
13 if (j<full_left||j>=full_left+2*i+1){
14 System.out.print(" ");
15 }
16 else{
17 System.out.print("*");
18 }
19 }
20 }
21 }
22
23 public static void main(String[] args) {
24 // print_positive_triangle(5);
25 print_nagative_triangle(5);
26 }
27 }