1

我正在尝试使用 2D int 数组打印帕斯卡的三角形

并以下面的方式打印二维数组

public static void pascal (int n)
     { 
        int[][] pascalArray = new int[n][n];

        // Code here

        }

        printArray(pascalArray);

    public static void printArray(int[][] array)
     {
         for (int i = 0; i < array.length; i++)
         {
             for(int j=0; j<array[i].length;j++)
             {
                 System.out.print(array[i][j] + " ");
             }
             System.out.println();
         } 

对于 n =4

我的输出低于

Enter rows in the Pascal's triangle (or 0 to quit): 4
1 0 0 0 
1 1 0 0 
1 2 1 0 
1 3 3 1 

现在我想要空白而不是零或等腰三角形格式以进行漂亮的打印

这对于 2D int数组是否可行,或者我们可以将 2D int 数组更改为printArray方法中的某个字符串数组并实现相同的效果?

我尝试了 system.out.format 但由于 int 2D array,我无法获得输出

4

2 回答 2

2

如果你知道你想要一个三角形,并且你知道数组是正方形的,你可以简单地改变内循环的上限。

     for (int i = 0; i < array.length; i++)
     {
         for(int j=0; j<=i; j++)
         {
             System.out.print(array[i][j] + " ");
         }
         System.out.println();
     } 
于 2015-09-16T21:09:46.250 回答
0

您可以添加我在下面添加的说明。仅当数组中的值不等于“0”时才打印。如果是字符串数组,使用equals()方法

 for (int i = 0; i < array.length; i++)
 {
     for(int j=0; j<array[i].length;j++)
     {
         if (array[i][j] != 0) System.out.print(array[i][j] + " ");
     }
     System.out.println();
 } 
于 2015-09-16T21:32:01.540 回答