3 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是您想要獲得的模式:
4
34
234
1234
當(dāng)您用文字描述模式時(shí),它可能如下所示:
第 1 行有 3 個(gè)空格,然后是數(shù)字 4
第 2 行有 2 個(gè)空格,然后是數(shù)字 3 和 4
第 3 行有 1 個(gè)空格,然后是數(shù)字 2 到 4
第 4 行有 0 個(gè)空格,然后是數(shù)字 1 到 4
這里已經(jīng)有某種模式。最后兩行看起來非常相似。讓我們看看前兩行是否可以帶入相同的形式:
第 1 行有 3 個(gè)空格,然后是數(shù)字 4 到 4
第 2 行有 2 個(gè)空格,然后是數(shù)字 3 到 4
第 3 行有 1 個(gè)空格,然后是數(shù)字 2 到 4
第 4 行有 0 個(gè)空格,然后是數(shù)字 1 到 4
現(xiàn)在看起來不錯(cuò)。下一步是更改措辭以取決于給定的行:
第 i 行有 (4 - i) 個(gè)空格,然后是數(shù)字 (4 - i + 1) 到 4
我注意不要說 5 而不是 4 + 1,這樣 4 仍然可見。讓我們給這 4 個(gè)起另一個(gè)名字:
第 i 行有 (max - i) 個(gè)空格,然后是數(shù)字 (max - i + 1) 到 max
現(xiàn)在您應(yīng)該能夠?qū)⒋酥噶罘g成 Java 代碼。

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
您只需要一個(gè)內(nèi)部 for 循環(huán)。
我使用三元運(yùn)算符(也稱為 elvis-operator 因?yàn)?:)來決定是打印數(shù)字還是空格:
int n = 7;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.print(j > n-i ? j : " ");
}
System.out.println();
}
它打印
7
67
567
4567
34567
234567
1234567

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
在這種情況下,您實(shí)際上只需要一個(gè)嵌套循環(huán):
int n = 4;
for (int i = n; i > 0; i--) {
for (int j = 1; j <= n; j++) {
if (j < i) {
System.out.print(" ");
} else {
System.out.print(j);
}
}
System.out.println();
}
0因此,從to循環(huán)n并打印一個(gè)空格,或者如果內(nèi)部計(jì)數(shù)器小于 ,則打印數(shù)字i。
輸出:
4
34
234
1234
添加回答
舉報(bào)