BohYoh.comトップページへ

Javaによるアルゴリズムとデータ構造

戻る  

演習1-16の解答

   *
  ***
 *****
*******
 n 段のピラミッドを表示する関数を作成せよ(右図は4段の例)。
  static void spira (int n )
i 行目には(i - 1) * 2 + 1個の*記号を表示して、最終行である第n 行目には(n - 1) * 2 + 1個の*記号を表示すること。

// 演習1-16 // *記号でピラミッドを表示 import java.util.Scanner; class StarPira {     //--- *記号を並べてピラミッドを表示 ---//     static void spira(int n) {         for (int i = 1; i <= n; i++) {                // i行(i = 1, 2, … ,n)             for (int j = 1; j <= n-i+1; j++)        // n-i+1個の' 'を表示                 System.out.print(' ');             for (int j = 1; j <= (i-1)*2+1; j++)    // (i-1)*2+1個の'*'を表示                 System.out.print('*');             System.out.println();                    // 改行         }     }     public static void main(String[] args) {         Scanner stdIn = new Scanner(System.in);         int    n;         System.out.println("ピラミッドを表示します。");         do {             System.out.print("段数は:");             n = stdIn.nextInt();         while (n <= 0);         spira(n);            // ピラミッドを表示     } }


戻る