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

Javaで左三角形の星形パターンを出力するプログラムの作成方法


本記事では、Javaを使って左三角形の星形パターン(*)を出力する方法について詳しく解説します。このパターンは、複数のforループとprint文を組み合わせることで簡単に作成できます。

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

入力

ユーザーから以下の値が入力されたと仮定します。

Enter the number of rows : 8

出力

期待される出力結果は次の通りです。

*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *

アルゴリズム

パターン出力の手順は以下の通りです。

ステップ1 - 処理を開始する
ステップ2 - 整数型変数 i、j、my_input の3つを宣言する
ステップ3 - ユーザーから必要な値を読み込む、あらかじめ値を定義しておく
ステップ4 - 文字間の余白(スペース)を確保するために、二重の「for」ループを回す
ステップ5 - 最も内側のループの処理が終わったら、別の「for」ループを実行して、必要な文字(*)を出力する
ステップ6 - 改行を出力し、以降の行にも指定した数の文字が表示されるようにする
ステップ7 - 結果を表示する
ステップ8 - 処理を終了する

例1:ユーザーからの入力を受け取る場合

この例では、プロンプトを表示してユーザーから行数を入力してもらい、その値をもとにパターンを出力します。

import java.util.Scanner;
public class RightTriangle{
    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=2*(my_input-i); j>=0; j--){
                System.out.print(" ");
            }
            for (j=0; j<=i; j++ ){
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

出力結果

必要なパッケージがインポートされました
読み込み用オブジェクトが定義されました
行数を入力してください:8
右三角形の星形パターン:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *

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

この例では、行数となる整数値をあらかじめプログラム内で定義しておき、その値を使用してコンソールに出力します。

public class RightTriangle{
    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=2*(my_input-i); j>=0; j--){
                System.out.print(" ");
            }
            for (j=0; j<=i; j++ ){
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

出力結果

行数は 8 に設定されています
右三角形の星形パターン:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *

このように、外側のforループで行数を制御し、内側のループでスペースとアスタリスク(*)の出力を制御することで、任意の行数の星形パターンを自由に出力できます。ループの条件や出力する文字を変更すれば、ピラミッド型やひし形など、さまざまなパターンにも応用可能です。

  1. Java 9のJShellで星形パターンを出力する方法

    JShellとはJShellは、Java 9で導入されたREPL(Read-Eval-Print Loop)ツールです。Javaコードをその場で実行し、結果をすぐに確認できるため、新しいプロジェクトを作成したり、コンパイルやビルドを行ったりすることなく、式や簡単なアルゴリズムを手軽に評価できます。また、JShellでは式の実行だけでなく、パッケージのインポートや、クラス・メソッド・変数の定義も可能です。なお、JShellはJava 9のJDKには含まれていますが、JREには含まれていない点に注意してください。JShellセッションの開始と基本コマンドコマンドプロンプトで jshell と入力す

  2. Pythonで文字「G」のパターンを出力するプログラム

    コンソールにアスタリスク(*)を使って文字「G」のパターンを表示したい場合、専用の関数を定義し、二重ループ(ネストされたループ)で行と列を走査しながら、条件に合致する位置だけ「*」を出力する方法が有効です。以下に実際の実装例を示します。サンプルコードdef display_pattern(my_line): my_pattern = for i in range(my_line): for j in range(my_line): if ((j == 1 and i != 0 and i != my_line - 1)