Java のパターン

PHPz
リリース: 2024-08-30 16:24:15
オリジナル
1172 人が閲覧しました

記事「Java のパターン」では、Java のプログラミング言語を学習し、高度な概念に深く入る前に、ループの仕組みを理解することが重要です。ループには for、while、do-while ループの 3 種類があります。各ループは互いにわずかに異なるため、プログラムの特定の状況に応じて使用されます。さまざまなループを使用するには、何らかのプログラミング ロジックが必要であり、そのために論理的思考力を必要とするパターン練習がプログラマーに与えられます。たとえば、幾何学的図形 (三角形、四角形など)、ピラミッド、星、数字、文字スタイルのさまざまなパターンのボックスをコンソール画面に印刷できます。ループの形式や基本構文はプログラミング言語によって異なる場合がありますが、これらのパターンを出力する一般的なロジックは同じです。

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

Java のパターンの例

いくつかの例を通して Java でパターンを描画する方法を理解しましょう

例 1: 数字を使用してピラミッドの半分を印刷します。

コード:

public class Pyramid
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
​//innermost loop is to print the numbers in the specific rows for (j=1; j<=i; j++)
{
System.out.print(j +" " );
}
System.out.println();
}
}
}
ログイン後にコピー

出力:

Java のパターン

上記の例では、パターンを印刷するために必要な基本ループは 2 つだけです。最初の for ループは行数を指定します。この場合、行 (つまり 5 つ) を定義しました。それ以外の場合は、ユーザーからの入力を取得して変数に格納することもできます。内側のループは、特定の行の数値を出力します。 1 行の完了または ‘j’ ループの終了後、println() を使用して行が変更されます。

例 2: 数字の矢印を印刷します。

コード:

public class NumberTriangle
{
public static void main(String[] args)
{
int i, j;
int rows =7;
​//outermost loop to represent the number of rows which is 7 in this case
//for the upper half of arrow
for (i=1; i<= rows; i++)
{
​//innermost loop is to print the numbers in the specific rows
//for the upper half of arrow
for (j=1; j<=i; j++)
{
System.out.print(j + " ");
}
System.out.println();
}
​//outermost loop to represent the number of rows which is 6 in this case
//for the lower half of arrow
for (i=rows-1; i>=1; i--)
{
​//innermost loop is to print the numbers in the specific rows
//for the lower half of arrow
for (j=1; j<=i; j++)
{
System.out.print(j + " ");
}
System.out.println();
}
}
}
ログイン後にコピー

出力:

Java のパターン

上記の例では、矢印を 2 つの半分に分割し、それぞれの半分に 2 つのループを使用する必要があります。行の前半は行に設定された初期値になりますが、行数は下半分の初期値より 1 減ります。両方の半分の内側のループは、外側のループに従って各行を反復処理するために使用されます。

例 3: 星(*) を使用して完全なピラミッドを印刷します。

コード:

public class FullPyramid
{
public static void main(String[] args)
{
int i, j, k;
int rows = 5;
//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++)
{
//innermost loop to represent the spaces in pyramid for (j= 1; j<= rows-i; j++)
{
System.out.print(" ");
}
​//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= 2*i-1; k++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
ログイン後にコピー

出力:

Java のパターン

上記の例では、3 つのことを行う必要があります。つまり、最初の for ループが 1 から rows 変数まで動作するピラミッドの出力の合計行数を念頭に置きます。次に、最初にピラミッド内のスペースを印刷し、次にスペースの後にパターン (*) を印刷する必要があります。この 2 番目と 3 番目では、外側のループ「i」内で for ループが使用されます。

例 4: 数字を使用して半逆ピラミッドを印刷します。

コード:

public class ReversePyramid
{
public static void main(String[] args)
{
int i, j, k;
int rows = 5;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++)
{
//innermost loop to represent the spaces
for (j= 1; j<= rows-1; j++)
{
System.out.print(" ");
}
​//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= i; k++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
ログイン後にコピー

出力:

Java のパターン

単純なハーフピラミッドは、数字、*、または印刷する文字を処理する必要があるため簡単ですが、逆ピラミッドの場合は、最初にスペースを印刷し、次にパターンを印刷する必要があります。この場合、これは (*) です。 。したがって、3 つの for ループが使用され、完全なピラミッドの場合と同様に機能します。

例 5: アルファベットを使用してピラミッドの半分を印刷します。

コード:

public class AlphabetPyramid
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
​//innermost loop to represent the alphabets in a pyramid in particular row for (j= 1; j<= i; j++)
{
System.out.print((char)(ch + i - 1) + " ");
}
System.out.println();
}
}
}
ログイン後にコピー

出力:

Java のパターン

ピラミッドは、上の例で使用したものと同じロジックで出力されます。2 つの for ループを使用し、1 つは行数用、もう 1 つは特定の行の文字出力用です。ただし、最も注意しなければならないのは文字データの扱いです。たとえば、Java では「A」の数値は 65 なので、すべての数学的論理はアルファベットの数値を使用して実行され、最終的には文字形式で出力されます。

例6: アルファベットの印刷パターン

コード:

public class AlphabetPattern
{
public static void main(String[] args)
{
int i, j;
//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
​//innermost loop to represent the alphabets for (j= 1; j<= i; j++)
{
System.out.print((char)(ch - 1 + j) + " ");
}
System.out.println();
}
}
}
ログイン後にコピー

出力:

Java のパターン

上記の例の文字値と 2 つの for ループを処理するために従う基本パターンは例 5 と似ていますが、唯一の違いは、目的のパターンを出力するために使用される単純なロジックです。

例 7: 星 (*) を使用して正方形を印刷します。

コード:

public class SquarePattern
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
//innermost loop to represent the stars (*) for (j= 1; j<= 5; j++)
{
System.out.print(" * " + " ");
}
System.out.println();
}
}
}
ログイン後にコピー

出力:

Java のパターン

For printing of square, we need length and width, i.e. both sides of the square should be the same, which is 5 in our case. So the first ​ ​loop is used for the length or number of rows in the square, and the inner ​ ​loop is used for the width of the square, i.e. 5 stars in a single row.

Example 8: Printing rectangle using stars (*).

Code:

public class RectanglePattern
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
​//innermost loop to represent columns the stars (*) for (j= 1; j<= 9; j++)
{
System.out.print(" * " + " " );
}
System.out.println();
}
}
}
ログイン後にコピー

Output:

Java のパターン

The basic logic of printing the rectangle of (*) is the same as printing of squares, the only difference between is the different length and width of the rectangle. Here ‘i’ loop is for the length of the rectangle, and the inner ‘j’ loop is for the width of the loop. Our program is taken as a constant value; we can also ask the user and store them in separate variables.

Example 9: Printing a Diamond using stars.

Printing a diamond in Java is a very simple process. It involves printing 2 pyramids, 1 in the upward direction and another in an inverted direction. Basically, we need to use the loops to do the coding to print two separate pyramids.

Code:

public class Diamond
{
public static void main(String[] args)
{
int i, j, k;
int rows = 5;
​//outermost loop to represent the number of rows which is 5 in this case.
// Creating upper pyramid
for(i= 1; i<= rows; i++)
{
//innermost loop to represent the spaces in upper pyramid for (j= 1; j<= rows-i; j++)
{
System.out.print(" ");
}
​//innermost loop to represent the stars (*) in upper pyramid for (k= 1; k<= 2*i-1; k++)
{
System.out.print("* ");
}
System.out.println();
}
​//outermost loop for the rows in the inverted pyramid for (i = rows-1; i>0; i--)
{
​//innermost loop for the space present in the inverted pyramid for (j=1; j<= rows - i; j++)
{
System.out.print(" ");
}
​//innermost loop inside the outer loop to print the ( * ) pattern in inverted pyramid for (k = 1; k<= 2*i-1; k++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
ログイン後にコピー

In the above example, almost the same logic is applied to create both pyramids, one in an upward direction and another in an inverted direction. Thus, the first ​loop is for the number of lines or rows in the pattern, and the second is for spaces and the stars (*) pattern in the pattern.

Output:

Java のパターン

Example 10: Printing binary numbers in a stair format.

Code:

public class BinaryStair
{
public static void main(String[] args)
{
int i, j;
//outer loop for the total rows which is 5 in this case for (i = 1; i <= 5; i++)
{
​//inner loop for the pattern of 0 and 1 in each row for (j = 1; j<= i ; j++)
{
if (j % 2 ==0)
{
System.out.print(0);
}
else
{
System.out.print(1);
}
}
System.out.println();
}
}
}
ログイン後にコピー

Output:

Java のパターン

In the above example, in order to print binary pattern, outer ​for ​loop ‘i’ is used for a total number of rows, and the inner ​for ​loop ‘j’ is used to iterate till the outer loop ‘i’ because for the 1st row, we need 1 value, for the 2nd row we need 2 values, and so on. ​If​ and else ​statements are used in order to print the alternate value of 0 and 1. Suppose for the first time i=1, j=1 and 1%2 != 0, then 1 is printed, and execution will move out of the inner loop.

Example 11: Program to print repeating alphabet patterns.

Code:

public class AlphabetReverseOrder
{
public static void main(String[] args)
{
int i, j, k;
//outer loop for the total rows which is 5 in this case for (i = 0 ; i<=5; i++)
{
int ch= 65;
//inner loop for the pattern of alphabets in till ‘i’ loop for (j = 0; j <=i ; j++)
{
System.out.print((char) (ch+j) + " ");
}
//inner loop for the pattern of alphabets in reverse order from ‘i’ loop for (k= i-1; k >=0; k--)
{
System.out.print((char) (ch+k) + " ");
}
System.out.println();
}
}
}
ログイン後にコピー

Output:

Java のパターン

In the above example, if we observe each row of pattern, we need to print the alphabet first in the increasing order, i.e. A B and then in the reverse order, i.e. A B A. For this, we need 3 loops, 1st ​for​ loop for the total number of rows. 2nd ​for​ loop to print the alphabets in increasing order then the 3rd ​for​ loop which remains inside the outer ‘i’ loop and prints the alphabets in the same line but in reverse order of ‘j’ loop.

Conclusion

The above example and their explanations clearly show how to make such patterns in Java. Though these patterns seem to be difficult in the starting, observing them deeply of how the repetition of pattern is happening in a single row and according to how many loops should be used, it becomes easy to do hands-on on this. Today also, in interviews of big companies, candidates are asked to write the logic of patterns of varying difficulty levels because this pattern making shows the basic logical and programming knowledge of an individual.

以上がJava のパターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート