正三角代码:

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 }