簡體   English   中英

java中的數字模式程序

[英]number pattern programs in java

如何打印下面的三角形:

2  3  5  8  3  8
   4  6  9  4  9
      7  1  5  1
         2  6  2
            7  3
               4

首先,您需要從數字2開始,然后垂直添加一個到下一個

我的代碼:

        int d = 2, n = 6;
        for (int line=1; line <= n; line++ ) {
            for (int j = 2; j <= line; j++) {
                System.out.print("  ");
            }
            for (int k = line; k <= n; k++) {
                System.out.print(d + " ");
                    d = d + k;
                    if (d > 9) {
                        d = d - 9;
                    }
            }
            System.out.println();
        }

結果:

2 3 5 8 3 8 
  5 7 1 5 1 
    7 1 5 1 
      7 2 7 
        4 9 
          6 

所述圖案是,該值d必須被基於的值的每個新行初始計算 d上一行的第一個實例 這是在這里錯過的部分。 你可以通過讓temp變量在每一行存儲d的初始值並根據它進行打印來實現。 我在這里使用了一個變量tempD ,它可以幫助打印你需要的模式。

    int d = 2, n = 6;
    int tempD = d - 1;
    for (int line = 1; line <= n; line++) {
        tempD = tempD + line;
        if (tempD > 9) {
            tempD = tempD - 9;
        }
        d = tempD;
        for (int j = 2; j <= line; j++) {
            System.out.print("  ");
        }
        for (int k = line; k <= n; k++) {
            System.out.print(d + " ");
            d = d + k;
            if (d > 9) {
                d = d - 9;
            }
        }
        System.out.println();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM