public class Lingxing { public static void main(String[] args) {
                  for(int i=1;i<=7;i+=2){
  for(int kong=7;kong>i-1;kong--){
  
  System.out.print(" ");
  
  }
  for(int xing=1;xing<=i;xing++){
  System.out.print("* ");
  }
  System.out.println();
  }


}
}贴一半哈,省事。我只想知道第一行在打印时为什么打的是正中间那个星星,而不是两端的?kong代表空格,xing代表星星。

解决方案 »

  1.   

    你那个两层for循环,第一层控制行数,第二层控制列数;
    外层循环每次少打一个空格,然后内层每次多打一个空格,
    然后就是那样了。。  
      

  2.   

    for(int i=1;i<=7;i+=2){                //表示要打印的行数 i = 1 3 5 7 共计四行
        for(int kong=7;kong>i-1;kong--){   //每一行先输出的空格
           System.out.print(" ");
        }
        for(int xing=1;xing<=i;xing++){    //每一行紧接着输出的星
            System.out.print("* ");
        }
        System.out.println();              //一行结束,换行
    }