介紹:
輸入一個1-9的整數n,輸出n行由數字組成的數字塔。
1
222
33333
如上圖所示。
思路:
1.首先需要知道輸出幾行,輸入爲 n,就輸出 n 行
2.找出每一行有什麼特點,這裏每一行都是數字,並且從上到下爲1-9的順序,並且下一行都比上一行要多兩個。
將上面兩步分析清楚後,應該能夠得到這樣的結果
1
222
33333
雖然都打印出來了,但是格式並不正確。
3.我們可以看出,如果要形成金字塔形,則第一行需要在輸出數字之前輸出2個空格,第二行需要輸出1個空格,那麼這個空格數和輸入的n有什麼關係了?
4.當有三行的時候,第一行需要輸出2個空格,第二行需要輸出一個空格,第三行不輸出空格。那麼用一個for循環來控制輸出空格的個數就可以了。
public class 數字塔 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
cal(n);
}
private static void cal(int n){
//外層for循環控制輸出的層數,內層for循環控制每層的個數
for(int i=1;i<=n;i++){
//控制輸出的空格
for(int k=n;k>i;k--){
System.out.print(" ");
}
//控制輸出的數字
for(int j=0;j<i*2-1;j++){
System.out.print(i);
}
System.out.println();
}
}
}