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

Javaで正方形の星型パターンを出力する方法|サンプルコード付きで解説


この記事では、Javaを使って正方形の星型(*)パターンをコンソールに出力する方法を詳しく解説します。パターン出力は、二重のforループ(ネストされたループ)とprint文を組み合わせることで実現でき、ループ処理の基礎を学ぶのに最適な題材です。

実行結果のイメージ

入力

ユーザーから一辺の長さとして「8」が入力された場合を想定します。

Enter the length of a side : 8

出力

上記の入力に対して、以下のような正方形のパターンが出力されます。

The square pattern :
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *

アルゴリズム

正方形パターンを出力するための手順は以下の通りです。

Step 1 - 処理を開始する
Step 2 - 整数型変数 i(行)、j(列)、my_input(一辺の長さ)を宣言する
Step 3 - ユーザーから一辺の長さを読み込む、または値を事前に定義する
Step 4 - 外側のforループで行数を制御し、内側のforループで各行の星の数を制御する
Step 5 - 内側のループ1回につき「*」を1つ出力する
Step 6 - 内側のループが終わるごとに改行を出力し、次の行へ移る
Step 7 - 完成したパターンを表示する
Step 8 - 処理を終了する

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

この例では、Scannerクラスを使ってユーザーから一辺の長さを入力してもらい、その値に応じたサイズの正方形パターンを出力します。

import java.util.Scanner;
public class SquarePattern{
    public static void main(String args[]){
        int i, j, 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 length of a side : ");
        my_input = my_scanner.nextInt();
        System.out.println("The square pattern : ");
        for(i = 1; i <= my_input; i++){
            for(j = 1; j <= my_input; j++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
}

出力

Required packages have been imported
A reader object has been defined
Enter the length of a side : 8
The square pattern :
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *

例2:値を事前に定義する場合

この例では、一辺の長さがあらかじめコード内で定義されており、その値をそのまま使ってパターンを出力します。入力処理が不要なため、動作確認を手軽に行えます。

public class SquarePattern{
    public static void main(String args[]){
        int i, j, my_input;
        my_input = 8;
        System.out.println("The length of a side is defined as " +my_input);
        System.out.println("The square pattern : ");
        for(i = 1; i <= my_input; i++){
            for(j = 1; j <= my_input; j++){
                System.out.print("* ");
            }
            System.out.print("\n");
        }
    }
}

出力

The length of a side is defined as 8
The square pattern :
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *

ポイント解説:ネストされたループの仕組み

このプログラムの核となるのは、二重のforループです。それぞれの役割は以下の通りです。

  • 外側のループ(変数 i):行数を管理します。my_input回繰り返されることで、パターンの行が生成されます。
  • 内側のループ(変数 j):各行に出力する星の個数を管理します。1行につきmy_input個の「*」を出力します。
  • 改行処理:内側のループが完了するたびに System.out.print("\n") で改行することで、正方形の形が保たれます。

なお、一辺の長さを n とすると、星の出力回数は n × n 回となるため、この処理の計算量は O(n²) となります。大きな値を入力すると出力が膨大になる点にも注意しましょう。

  1. 正方形の面積を求めるJavaプログラムの書き方【初心者向け解説】

    この記事では、Javaを使って正方形の面積を求める方法をわかりやすく解説します。正方形の面積は、次の公式で計算できます。辺 × 辺つまり s2正方形の面積の計算式正方形の1辺の長さを s とすると、その面積は s2(辺の2乗)で表されます。下図のように、縦と横が同じ長さの図形であるため、辺同士を掛け合わせるだけで面積が求まります。入力例1辺の長さ : 4出力例正方形の面積 : 16アルゴリズム処理の流れは以下の手順になります。Step 1 - 開始Step 2 - 整数型の変数 my_side(辺の長さ)と my_area(面積)を宣言するStep 3 - ユーザーから値を読み込む、または値を

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

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