我在編程類的測試研究,我似乎無法得到解決這個特定的實踐問題:基本的Java陣列 - 打印「金字塔」增加值
寫代碼,構建稱爲金字塔輸出以下數組的數組:
0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1
0 1 2 2 2 2 2 2
0 1 2 3 3 3 3 3
0 1 2 3 4 4 4 4
0 1 2 3 4 4 5 5
0 1 2 3 4 4 5 5
正如你所看到的,它應該是相當簡單;在他們各自的索引上分配與該元素相對應的行號和列號 - 但我不能在我的生活中弄清楚這一點。
這裏是我到目前爲止有:
public static void main(String[] args)
{
int[][] list = new int[7][7];
pyramid(list);
for(int row = 0; row < list.length; row++)
{
for (int column = 0;column < list[row].length; column++)
{
System.out.printf("%2d ", list[row][column]);
}
System.out.println();
}
}
static void pyramid(int[][] input)
{
for(int r = 0; r < input.length; r++)
{
for(int c = 0; c < input[r].length; c++)
{
//what should go in here?
}
}
}
將
input[c][r] = r;
在第二循環中的身體得到了我以往任何時候都更接近所需的輸出 - 雖然它仍然達不到。
輸出:
0 1 2 3 4 5 6
0 1 2 3 4 5 6
0 1 2 3 4 5 6
0 1 2 3 4 5 6
0 1 2 3 4 5 6
0 1 2 3 4 5 6
0 1 2 3 4 5 6
//arg!
下一步是什麼?我應該從這裏做什麼?
任何幫助,非常感謝!
提示。如果行號小於列號,那麼該值應該等於該行,反之亦然 – JackVanier
@JackWilliams得到的是你需要的最大值(行,列) –
@BenKnoble實際上你需要'min(row ,列)' – JackVanier