程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java掌握台輸入數字金字塔示例分享

java掌握台輸入數字金字塔示例分享

編輯:關於JAVA

java掌握台輸入數字金字塔示例分享。本站提示廣大學習愛好者:(java掌握台輸入數字金字塔示例分享)文章只能為提供參考,不一定能成為您想要的結果。以下是java掌握台輸入數字金字塔示例分享正文



/*Java
 *Author: NealFeng at oschina.net
 *License: GPLv2+
 *Time: 2014/1/17
 *
 *在掌握台輸入數字金字塔:
 *                   1
 *               1   2   1
 *           1   2   4   2   1
 *       1   2   4   8   4   2   1
 *   1   2   4   8  16   8   4   2   1
 *掌握台輸入的缺點是數字不克不及完整居中,只能右對齊或左對齊
*/
public class NumberPyramid {
    public static void main(String[] args) {
        // 行數
        int lineNumber = 5;
        // 基數
        int baseNumber = 2;
        // 生成數字,數字保留在數組中{1,2,4,8,...,2^n}
        int[] numbers = new int[lineNumber];
        numbers[0]=1;
        for(int i = 1; i < lineNumber; i++) {
            numbers[i] = numbers[i-1] * baseNumber;
        }
        // 盤算每一個數字占幾個字符:最年夜的數字位數+2
        int columnsPerNumber =
                String.valueOf(numbers[lineNumber-1]).length() + 2;
        // 輸入,輸入格局以下:
        // 每一個縮進 = columnsPerNumber個空格
        // 每一個數字寬度為columnsPerNumber
        // 如許便可以構成金字塔狀
        // 縮進 縮進 縮進 數字
        // 縮進 縮進 數字 數字 數字
        // 縮進 數字 數字 數字 數字 數字
        // 數字 數字 數字 數字 數字 數字  數字
        for(int i = 0; i < lineNumber; i++) {
            //輸入縮進
            for(int j = 0; j < lineNumber-i-1; j++)
                System.out.printf("%"+columnsPerNumber+"s", " ");
            //輸入數字
            //輸入{1,2,4,8,...,2^n}
            for(int k = 0; k < i+1; k++)
                System.out.printf("%"+columnsPerNumber+"d", numbers[k]);
            //輸入{2^n-1,...,8,4,2,1}
            for(int m = 0; m < i; m++)
                System.out.printf("%"+columnsPerNumber+"d", numbers[i-m-1]);
            //換行
            System.out.println();
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved