java 打印金字塔

背景:
一个同事,面试应聘者喜欢用学校里学过的一个书本或者课后练习来考他们,说如果这些在学校里学过的都不会,那水平肯定不咋地。我们问什么问题,他说就是用java来打印× 形的金字塔,都面试了好几个工作了3,5 年的人了,居然这个都不会,一些花了二三十分钟能搞定的算是比较好的了。 然后我们也面面相觑,说要是让我们当场写,也估计要2,3十分钟吧,估计最后还不一定能搞定的。

今天因为正好在准备java入门的ppt,讲到了for循环控制语句,正好有个类似的例子。于是也正好写了一下。

方案:
直接贴代码了。
int lay=4;
		for(int i=1;i<=lay;i++){
			for(int j=1; j<=(i-1)*2 +1;j++){
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int i=1;i<=lay;i++){
			for(int k =1; k<=lay-i;k++) {
				System.out.print(" ");
			}
			for(int j=1; j<=(i-1)*2 +1;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int i=1;i<=lay;i++){
			for(int k =1; k<=lay-i;k++){
				System.out.print(" ");
			}
			for(int j=1; j<=(i-1)*2 +1;j++){
				if(i ==1||i==lay){
					System.out.print("*");
				} else {
					if(j==1|| j==(i-1)*2 +1){
						System.out.print("*");
					} else {
						System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}


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

猜你喜欢

转载自xfxlch.iteye.com/blog/2237497