int array[][] = {
{2, 3, 4, 5, 6},
{2, 3, 4, 5, 6},
{2, 3, 4, 5, 6},
{2, 3, 4, 5, 6},
{2, 3, 4, 5, 6},
};
int i, j;
StringBuilder prefix = new StringBuilder();
for (i = 0; i < 5; i++) {
prefix.append(String.format("%" + (i+1) + "s", ""));
System.out.print(prefix.toString().substring(1));
for (j = i; j < 5; j++) {
System.out.print(array[i][j]+" ");
}
prefix.setLength(prefix.length() - i);
System.out.println();
}
If there are more matrix digits, you can use:
int array[][] = {
{2, 34, 44, 555, 6},
{2, 34, 44, 555, 6},
{2, 34, 44, 555, 6},
{2, 34, 44, 555, 6},
{2, 34, 44, 555, 6},
};
int i, j;
StringBuilder prefix = new StringBuilder();
for (i = 0; i < 5; i++) {
int elemLength = i > 0 ? ("" + array[i - 1][i - 1]).length() : 0;
prefix.append(String.format("%" + (i + elemLength + 1) + "s", ""));
System.out.print(prefix.toString());
for (j = i; j < 5; j++) {
System.out.print(array[i][j]+" ");
}
prefix.setLength(prefix.length() - (i + 1));
System.out.println();
}