Java
 Computer >> コンピューター >  >> プログラミング >> Java

ピラミッド型の星形パターンを出力するJavaプログラム

この記事では、Javaを使ってピラミッド型の星形パターン(*)をコンソールに出力する方法を解説します。パターンの生成には、複数のforループとprint文を組み合わせて使用します。

まずは実行例を見てみましょう。

入力例

ユーザーから以下のような入力を受け取ったと仮定します。

行数を入力してください : 8

出力例

上記の入力に対して、期待される出力は次のとおりです。

ピラミッド型の星形パターン :
       *
      * *
     * * *
    * * * *
   * * * * *
  * * * * * *
 * * * * * * *
* * * * * * * *

アルゴリズム

処理の流れは以下のステップのとおりです。

  1. 処理を開始する。
  2. 整数型の変数 i、j、my_input を宣言する。
  3. ユーザーから必要な値を読み込む、またはあらかじめ値を定義する。
  4. 外側のforループの中で、文字間の空白を出力するためのネストされたforループを回す。
  5. 最も内側のループの処理が終わったら、別のforループで星(*)を出力する。
  6. 1行分の出力が完了したら改行し、次の行へ移る。
  7. 結果を表示する。
  8. 処理を終了する。

例1:ユーザー入力から行数を取得する場合

この例では、Scannerクラスを使ってユーザーからの入力を行数として受け取ります。オンラインのコンパイル環境でも実際に動作を試すことができます。

import java.util.Scanner;
public class Pyramid{
    public static void main(String args[]){
        int i, j, my_input;
        System.out.println("必要なパッケージがインポートされました");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("リーダーオブジェクトが定義されました");
        System.out.print("行数を入力してください : ");
        my_input = my_scanner.nextInt();
        System.out.println("ピラミッド型の星形パターン :");
        for (i=0; i<my_input; i++){
            for (j=my_input-i; j>1; j--){
                System.out.print(" ");
            }
            for (j=0; j<=i; j++ ){
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

出力結果

必要なパッケージがインポートされました
リーダーオブジェクトが定義されました
行数を入力してください : 8
ピラミッド型の星形パターン :
       *
      * *
     * * *
    * * * *
   * * * * *
  * * * * * *
 * * * * * * *
* * * * * * * *

例2:行数をあらかじめ定義しておく場合

この例では、整数値が事前に定義されており、その値をコンソールに表示してパターンを出力します。ユーザー入力が不要なため、動作確認や学習用に手軽です。

public class Pyramid{
   public static void main(String args[]){
      int i, j, my_input;
      my_input = 8;
      System.out.println("行数は " + my_input + " に設定されています");
      System.out.println("ピラミッド型の星形パターン :");
      for (i=0; i<my_input; i++){
         for (j=my_input-i; j>1; j--){
            System.out.print(" ");
         }
         for (j=0; j<=i; j++ ){
            System.out.print("* ");
         }
         System.out.println();
      }
   }
}

出力結果

行数は 8 に設定されています
ピラミッド型の星形パターン :
       *
      * *
     * * *
    * * * *
   * * * * *
  * * * * * *
 * * * * * * *
* * * * * * * *

まとめ

ピラミッド型の星形パターンは、外側のforループで行数を制御し、内側のforループで空白と星の出力数を制御することで実現できます。この考え方は、逆ピラミッドやダイヤモンド型など、他のパターン出力にも応用できる基本的なテクニックなので、ぜひマスターしておきましょう。

  1. Javaで文字列を出力するプログラムの書き方|サンプルコード付きで解説

    この記事では、Javaで文字列を出力する方法について詳しく解説します。文字列(String)とは、文字や英数字が組み合わさって構成されるデータのことです。最も簡単に文字列を作成するには、次のように記述します。String str = Welcome to the club!!!コード内に文字列リテラルが現れると、コンパイラはその値を持つStringオブジェクトを自動的に生成します。この例では「Welcome to the club!!!」という文字列オブジェクトが作成されます。Javaにおける文字列の扱い他のオブジェクトと同様に、newキーワードとコンストラクタを使ってStringオブジェクト

  2. Pythonで逆三角形の星形パターン(*)を出力するプログラム

    Pythonで星(アスタリスク)のパターンを逆順、つまり逆三角形の形に出力したい場合、「for」ループを使用するのが最もシンプルな方法です。forループを使えば、指定した範囲の数値を順番に繰り返し処理しながら、必要な文字を必要な回数だけ出力できます。ポイントは、ループが1回回るごとにカウント値を減算していくことです。以下に具体的な実装例を示します。サンプルコードN=6 print(変数Nを + str(N) + に初期化しました) print(逆順の星形パターンを表示します) for i in range(N, 0, -1): print((N-i) * + i * *)実行結果変