1. 程式人生 > >習題7 數字金字塔

習題7 數字金字塔

結束 col next string 結果 用兩個 util 圖形 print

輸入任意數字X(例:6),輸出如下圖形

技術分享

首先使用兩層for循環,一層循環行數,一層循環列數

如題,在列中,不僅要輸出“*”,還要輸出空格,所以在第一層for循環中,應使用兩個並列的for循環

import java.util.Scanner;

public class Jinzita {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int x=scanner.nextInt();
        for(){
            
for(){ } for(){ } } } }

第一層for中,條件應是小於等於x;

第二層第一個for控制“*”前空格的數量;

第一行,如圖所示,輸出6-1=5個空格,第二行輸出6-2=4個空格....第六行輸出6-6=0個空格;

所以第二層第一個for循環的條件應是小於等於x-i;

第二層第二個for循環控制輸出多少個“*”的數量;

如圖 第一行輸出1個,第二行輸出3個,第三行5個,找到如下規律

輸出“*”的數量為2*i-1;

最後在第一層for循環結束後,輸出換行

import java.util.Scanner;

public class Jinzita {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int x=scanner.nextInt();
        for(int i=1;i<=x;i++){
            for(int k=1;k<=x-i;k++){
                System.out.print(" ");
            }
            
            
for(int j=1;j<=2*i-1;j++){ System.out.print("*"); } System.out.println(); } } }

輸入6,輸出結果如下

技術分享

輸入10,結果如下

技術分享

習題7 數字金字塔