1. 程式人生 > >Java 列印菱形方法

Java 列印菱形方法

菱形的列印方式,通過確定中間行,確定奇數然後做的處理,

思路:上面部分通過確定列印數量為奇數,然後採用公式計算出奇數來,下面因為空格數量就是總行數減中間行數-1計算的,

這樣就可以計算出要列印的* 的數量

public class TestFile {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int line=9;//7行菱形,中間行為7個*,上下都是3行,一共7行,必須是奇數
		
		for(int i=0;i<line;i++){ //控制顯示行
			//確定中間行;
			int midline=(line-1)/2;			
			if(i==midline)			
			{
			  for(int j=0;j<line;j++){ //列印中間行
			     System.out.print("*");	  
			  }			  
			  System.out.println();
			}
			else
			{
				 if(i<midline){ //列印上面的
					 printTopInfo((i+1),line);
				 }
				 else if(i>midline){ //列印下面的
					 printButtomInfo((i-midline),line);
				 }
			}
		}
	}
	//列印上面的
	static void printTopInfo(int i,int count){
		
		//奇數
		int empnum=2*(i-1)+1;
		
	    for(int j=0;j<(count-empnum)/2;j++){  //列印前面
	    	System.out.print(" ");
	    }
	    
	    for(int j=0;j<empnum;j++){  //列印中間
	    	System.out.print("*");
	    }	    
	    
	    for(int j=0;j<(count-empnum)/2;j++){  //列印前面
	    	System.out.print(" ");
	    }
	    
	    System.out.println("");
	}
	
	//列印下面的
	static void printButtomInfo(int i,int count){
		
		for(int j=0;j<i;j++){  //列印前面
	    	System.out.print(" ");
	    }
		
	    for(int j=0;j<(count-i*2);j++){  //列印中間
	    	System.out.print("*");
	    }
	    
	    for(int j=0;j<i;j++){  //列印前面
	    	System.out.print(" ");
	    }
	    
	    System.out.println("");
	}
}

 顯示效果