码迷,mamicode.com
首页 > 编程语言 > 详细

Java金字塔及变形

时间:2015-07-09 09:51:50      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:java   金字塔   金字塔变形   

Java金字塔

package com.tfj.test;
public class JinZiTa {
public static void main(String[] args){
	int num=4;
	for(int i=0;i<num;i++){
//	  找出空格规律
		for(int j=1;j<num-i;j++)
	System.out.print(" ");
//        找出*规律
      for(int k=0;k<2*i+1;k++){
    System.out.print("*");
      }
    System.out.println();
	}
}
}
运行结果如图:
<img src="http://img.blog.csdn.net/20150708235559757?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<strong><span style="font-size:18px;"></span></strong><pre name="code" class="java"><span style="font-size: 18px;">Java金字塔变形1:</span>


<pre name="code" class="java">package com.tfj.test;
public class JinZiTa2 {
public static void main(String[] args){
	int num=4;
	for(int i=0;i<num;i++){
	 for(int j=1;j<num-i;j++)
	 System.out.print(" ");
//  方法1:特殊处理金字塔里面空心的
//	      for(int k=0;k<2*i+1;k++){
//       if(i>0&&i<num-1&&k>0&&k<2*i){
//    	   System.out.print(" ");
//       }
//       else{
//     System.out.print("*");
//      }
//     }
//	 方法2:先处理第一层和最后一层,然后处理中间的num-2层
	 for(int k=0;k<2*i+1;k++){
		 if(i==0||i==num-1){
			 System.out.print("*");
		 }else{
			 if(k==0||k==2*i){
				 System.out.print("*");
			 }else{
				 System.out.print(" ");
			 }
		 }
	 }
     System.out.println();
	}
}
}
运行结果如图:

<img src="http://img.blog.csdn.net/20150708235659318?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<strong><span style="font-size:18px;">Java金字塔变形2:</span></strong>
<pre name="code" class="java">package com.tfj.test;
public class JinZiTa3 {
public static void main(String[] args){
	int num=4;
	for(int i=0;i<num;i++){
	 for(int j=1;j<num-i;j++)
	 System.out.print(" ");
	      for(int k=0;k<2*i+1;k++){
       if(i>0&&i<num&&k>0&&k<2*i){
    	   System.out.print(" ");
       }
       else{
     System.out.print("*");
      }
     }
     System.out.println();
	}
//	将上面的进行倒置,然后稍加处理
	for(int i=num-1;i>0;i--){
		 for(int j=num-i;j>0;j--)
		 System.out.print(" ");
		      for(int k=2*i-1;k>0;k--){
	       if(i>0&&i<num&&k>1&&k<2*i-1){
	    	   System.out.print(" ");
	       }
	       else{
	     System.out.print("*");
	      }
	     }
	     System.out.println();
		}
}
}
运行结果如图:
<img src="http://img.blog.csdn.net/20150708235731121?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />







版权声明:本文为博主原创文章,未经博主允许不得转载。

Java金字塔及变形

标签:java   金字塔   金字塔变形   

原文地址:http://blog.csdn.net/qq_21682823/article/details/46810689

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!