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ループで行数を制御し、内側のループでスペースとアスタリスク(*)の出力を制御することで、任意の行数の星形パターンを自由に出力できます。ループの条件や出力する文字を変更すれば、ピラミッド型やひし形など、さまざまなパターンにも応用可能です。
-
Java 9のJShellで星形パターンを出力する方法
JShellとはJShellは、Java 9で導入されたREPL(Read-Eval-Print Loop)ツールです。Javaコードをその場で実行し、結果をすぐに確認できるため、新しいプロジェクトを作成したり、コンパイルやビルドを行ったりすることなく、式や簡単なアルゴリズムを手軽に評価できます。また、JShellでは式の実行だけでなく、パッケージのインポートや、クラス・メソッド・変数の定義も可能です。なお、JShellはJava 9のJDKには含まれていますが、JREには含まれていない点に注意してください。JShellセッションの開始と基本コマンドコマンドプロンプトで jshell と入力す
-
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)