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²) となります。大きな値を入力すると出力が膨大になる点にも注意しましょう。
-
正方形の面積を求めるJavaプログラムの書き方【初心者向け解説】
この記事では、Javaを使って正方形の面積を求める方法をわかりやすく解説します。正方形の面積は、次の公式で計算できます。辺 × 辺つまり s2正方形の面積の計算式正方形の1辺の長さを s とすると、その面積は s2(辺の2乗)で表されます。下図のように、縦と横が同じ長さの図形であるため、辺同士を掛け合わせるだけで面積が求まります。入力例1辺の長さ : 4出力例正方形の面積 : 16アルゴリズム処理の流れは以下の手順になります。Step 1 - 開始Step 2 - 整数型の変数 my_side(辺の長さ)と my_area(面積)を宣言するStep 3 - ユーザーから値を読み込む、または値を
-
Pythonで逆三角形の星形パターン(*)を出力するプログラム
Pythonで星(アスタリスク)のパターンを逆順、つまり逆三角形の形に出力したい場合、「for」ループを使用するのが最もシンプルな方法です。forループを使えば、指定した範囲の数値を順番に繰り返し処理しながら、必要な文字を必要な回数だけ出力できます。ポイントは、ループが1回回るごとにカウント値を減算していくことです。以下に具体的な実装例を示します。サンプルコードN=6 print(変数Nを + str(N) + に初期化しました) print(逆順の星形パターンを表示します) for i in range(N, 0, -1): print((N-i) * + i * *)実行結果変