,我无法获得输出。
我正在尝试使用2D int数组打印pascal的三角形
并以如下方式打印二维数组
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数组中是否可能或者我们可以在printArray方法中将2D int数组更改为字符串数组并实现相同的效果?
我尝试了system.out.format,但由于int 2D数组
如果你知道你想要一个三角形,并且你知道数组是正方形的,你可以简单地改变内循环的上界。
for (int i = 0; i < array.length; i++)
{
for(int j=0; j<=i; j++)
{
System.out.print(array[i][j] + " ");
}
System.out.println();
}
您可以添加我在下面添加的指令。只有当数组中的值不等于"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();
}