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

Javaで下向き三角形の星形パターンを出力する方法を解説

本記事では、Javaを使用して下向きの三角形の星形パターン(*)を出力する方法を解説します。このパターンは、複数のforループと出力文を組み合わせることで描画できます。ネストされたループの基本的な使い方を学びたい初心者の方に最適な題材です。

実行例

入力

行数として「8」が入力された場合を想定します。

Enter the number of rows : 8

出力

プログラムを実行すると、以下のような下向きの三角形パターンが出力されます。

The downward triangle star pattern :
* * * * * * * *
 * * * * * * *
  * * * * * *
   * * * * *
    * * * *
     * * *
      * *
       *

アルゴリズムの手順

  1. 開始 — 処理を開始します。
  2. 変数の宣言 — 整数型の変数 i、j、k、my_input を宣言します。
  3. 値の取得 — ユーザーから行数を読み込むか、あらかじめ値を定義します。
  4. 空白の出力 — 外側のforループと内側のforループをネストさせて反復処理を行い、文字間の空白を出力します。
  5. 星の出力 — 最も内側のループの反復が終わった後、別のforループで必要な文字(*)を出力します。
  6. 改行 — 各行ごとに改行を出力し、次の行へ移動します。
  7. 結果の表示 — 完成したパターンを表示します。
  8. 終了 — 処理を終了します。

例1:ユーザー入力を受け付ける場合

この例では、Scannerクラスを使ってユーザーから行数を入力として受け取ります。

import java.util.Scanner;
public class DownwardTriangle{
   public static void main(String args[]){
      int i, j, k, my_input;
      System.out.println("Required packages have been imported");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the number of my_input : ");
      my_input = my_scanner.nextInt();
      System.out.println("The downward triangle star pattern : ");
      for ( i= 0; i<= my_input-1; i++){
         for ( j=0; j<=i; j++){
            System.out.print(" ");
         }
         for ( k=0; k<=my_input-1-i; k++){
            System.out.print("*" + " ");
         }
         System.out.println();
      }
   }
}

出力結果

Required packages have been imported
A reader object has been defined
Enter the number of my_input : 8
The downward triangle star pattern :
* * * * * * * *
 * * * * * * *
  * * * * * *
   * * * * *
    * * * *
     * * *
      * *
       *

例2:値を事前に定義しておく場合

この例では、整数値があらかじめ定義されており、その値を参照してコンソールに出力します。動作確認やテストの際に便利な方法です。

public class DownwardTriangle{
   public static void main(String args[]){
      int i, j, k, my_input;
      my_input = 8;
      System.out.println("The number of rows is defined as " +my_input);
      System.out.println("The downward triangle star pattern : ");
      for ( i= 0; i<= my_input-1; i++){
         for ( j=0; j<=i; j++){
            System.out.print(" ");
         }
         for ( k=0; k<=my_input-1-i; k++){
            System.out.print("*" + " ");
         }
         System.out.println();
      }
   }
}

出力結果

The number of rows is defined as 8
The downward triangle star pattern :
* * * * * * * *
 * * * * * * *
  * * * * * *
   * * * * *
    * * * *
     * * *
      * *
       *

コードのポイント

  • 外側のループ(変数 i):行数を制御します。各行の先頭に出力する空白の数は i に依存します。
  • 最初の内側のループ(変数 j):左側のインデント用の空白を出力します。行が進むごとに空白が1つずつ増えます。
  • 2番目の内側のループ(変数 k):星(*)とスペースを出力します。行が進むごとに星の数が1つずつ減り、下向きの三角形が形成されます。

このように、ループの回数を工夫することで、さまざまな形状のパターン出力に応用できます。ぜひ行数を変更して、独自のパターン作成にも挑戦してみてください。

  1. 指定した整数の正方形パターンを出力するJavaプログラム

    指定された整数に基づいて正方形パターンを出力したい場合、以下のようなJavaコードを実装できます。 サンプルコード import java.util.*; import java.lang.*; public class Demo{ public static void main(String[] args){ Scanner my_scan = new Scanner(System.in); System.out.println(Enter a range); int my_num = my_scan.nextInt();

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

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