用math.abs打印菱形boolean和嵌套for分别打印空心三角形

来源:互联网 发布:java 计算调用时间 编辑:程序博客网 时间:2024/05/16 04:54
package com.sxt;


public class KeBen {


public static void main(String[] args) {
// 打印菱形用Math.abs的方法
int n=5;
//外打行
for(int i=0;i<n*2-1;i++){//其实是打印了9行
//打空格
for(int j=0;j<Math.abs(n-i-1);j++){
System.out.print(" ");
}
//打*+空格
for(int k=0;k<n-Math.abs(n-i-1);k++){
System.out.print("* ");
}
System.out.println();
}
//用boolean类型来打印空心三角形
int m=5;
for(int i=1;i<=m;i++){
for(int j=1;j<=m-i;j++){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
boolean f1=i==1||i==m;
boolean f2=j==1||j==i;
if(f1||f2){
System.out.print("* ");//*+空格
}else{
System.out.print("  ");//两个空格
}
}
System.out.println();


}

//用for的嵌套循环打印空心三角形
int q = 5;
for (int i = 1; i <= q; i++) {
for (int j = 1; j <= q - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
if (i == 1 || i == q) {
System.out.print("*");
} else {
if (j == 1 || j == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
}
System.out.println();
}


}

}

打印的结果图形

    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    * 
    * 
   * * 
  *   * 
 *     * 
* * * * * 
    *
   * *
  *   *
 *     *
*********

原创粉丝点击