JAvaは三角形と菱形を実現
2502 ワード
1 .印刷の実装
*
**
***
****
内層の2つのforサイクルは各行*番号と空白の印刷を制御し、外層のforサイクルは数行の印刷を制御する.
2.印刷を実現する
*
***
*****
*******
各行の*番号の個数は2 N+1個の法則で増加し,左の空白文字は行ごとに1個減少する.したがって、内層の最初のforサイクル空白文字、2番目のforサイクル制御*番号の数.
3印刷の実装
*
***
*****
*******
*****
***
*
この菱形の印刷は、上の正三角と下の逆三角の2つの部分に分けることができます.上の正の三角模様はプログラムを使うことができます.JAva実装では,逆三角の法則は1行あたりの*番号個数が2 N−1であり,左側の空白記号個数が1行ずつ加算される.
まとめ:
プログラムは最終的にメモリで実行され、変数はメモリに1つの場所を占めている場合にのみアクセスできます.クラスの静的メンバー(変数とメソッド)はクラス自体に属し、クラスがロードされるとメモリが割り当てられ、クラス名で直接アクセスできます.非静的メンバー(変数とメソッド)はクラスのオブジェクトに属するため、クラスのオブジェクトが生成(クラスのインスタンスを作成)されたときにのみメモリが割り当てられ、クラスのオブジェクト(インスタンス)からアクセスされます.クラスの静的メンバーに非静的メンバーにアクセスするエラーは、クラスの非静的メンバーが存在しないときにクラスの静的メンバーがすでに存在しているため、メモリに存在しないものにアクセスするとエラーが発生するのは当然です.
*
**
***
****
public class First{
static int n = 4;
public static void main (String args[]){
for(int i=0;i<n;i++)
{
for(int j=1;j<n-i;j++)
System.out.print(' ');
for(int k=0;k<=i;k++)
System.out.print('*');
System.out.print('
');
}
}
}
内層の2つのforサイクルは各行*番号と空白の印刷を制御し、外層のforサイクルは数行の印刷を制御する.
2.印刷を実現する
*
***
*****
*******
public class Second{
static int n=4; // ,
// , , n main()
public static void main (String args[]){
for (int i=0;i<n;i++)
{
for (int j=1;j<n-i;j++)
System.out.print(' ');
for (int k=0;k<2*i+1;k++)
System.out.print('*');
System.out.println();
}
}
}
各行の*番号の個数は2 N+1個の法則で増加し,左の空白文字は行ごとに1個減少する.したがって、内層の最初のforサイクル空白文字、2番目のforサイクル制御*番号の数.
3印刷の実装
*
***
*****
*******
*****
***
*
public class Third{
static int n = 4;
public static void main (String args[]){
for (int i = 0;i < 4;i++)
{
for (int j = 1;j < 4-i;j++)
System.out.print(' ');
for (int k = 0;k< 2*i+1;k++)
System.out.print('*');
System.out.println();
}
for (int i = n-1; i > 0;i--)
{
for (int j = 1;j <= n-i;j++)
System.out.print(' ');
for (int k=2*i-1;k > 0;k--)
System.out.print('*');
System.out.println();
}
}
}
この菱形の印刷は、上の正三角と下の逆三角の2つの部分に分けることができます.上の正の三角模様はプログラムを使うことができます.JAva実装では,逆三角の法則は1行あたりの*番号個数が2 N−1であり,左側の空白記号個数が1行ずつ加算される.
まとめ:
プログラムは最終的にメモリで実行され、変数はメモリに1つの場所を占めている場合にのみアクセスできます.クラスの静的メンバー(変数とメソッド)はクラス自体に属し、クラスがロードされるとメモリが割り当てられ、クラス名で直接アクセスできます.非静的メンバー(変数とメソッド)はクラスのオブジェクトに属するため、クラスのオブジェクトが生成(クラスのインスタンスを作成)されたときにのみメモリが割り当てられ、クラスのオブジェクト(インスタンス)からアクセスされます.クラスの静的メンバーに非静的メンバーにアクセスするエラーは、クラスの非静的メンバーが存在しないときにクラスの静的メンバーがすでに存在しているため、メモリに存在しないものにアクセスするとエラーが発生するのは当然です.