菱形的打印輸出


菱形的打印輸出

昨天筆試的時候試卷上有一個菱形,讓你寫出代碼,其實題真的不難,只需要找到規律寫出幾個 for 循環即可。可是當時悶熱的環境下,半天沒找到規律心里又一急,就直接......

所以現在我自己回去整理了一下,具體代碼如下:

public class Rhombus {

    public static void main(String[] args) {
		
	Scanner sc = new Scanner(System.in);
	int n = sc.nextInt();
        
        // 打印菱形
        // 菱形可以把它看成上下兩部分,分別寫兩個循環即可
	// 上半部分,輸出的*為1,3,5,7,9,...
        for (int i = 1; i <= n; i++) {
 	    // 先輸出空白的那一部分
            // 這部分其實就是輸出一個倒的直角三角形,按照規律就是 j<=n-i
            // 如果是輸出正的直角三角形就是 j<=i
            for (int j = 1; j <= n-i; j++) {
		System.out.print(" ");
	    }
            // 空白輸出后就是輸出*
            // 很顯然是 1,3,5,7,9,...,2*i-1
	    for (int k = 1; k <= 2*i-1; k++) {
		System.out.print("*");
	    }
                // 換行
	        System.out.println();
	    }
            // 輸出下半部分
	    for (int i = 1; i <= n-1; i++) {
	        // 先輸出空白的(其實也是正三角形)
                // 所以就是 j<=i
                for (int j = 1; j <= i; j++) {
		    System.out.print(" ");
		}
            // 這個就是倒的奇數輸出*
            // 即 2*(n-1-i)+1,
	    for (int k = 1; k <= 2*(n-i)-1; k++) {
		System.out.print("*");
	    }
	    System.out.println();
        }
    }
}

輸出的結果:

6
     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM