習題7 數字金字塔
阿新 • • 發佈:2017-09-18
結束 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 數字金字塔