JAvaは三角形と菱形を実現

2502 ワード

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つの場所を占めている場合にのみアクセスできます.クラスの静的メンバー(変数とメソッド)はクラス自体に属し、クラスがロードされるとメモリが割り当てられ、クラス名で直接アクセスできます.非静的メンバー(変数とメソッド)はクラスのオブジェクトに属するため、クラスのオブジェクトが生成(クラスのインスタンスを作成)されたときにのみメモリが割り当てられ、クラスのオブジェクト(インスタンス)からアクセスされます.クラスの静的メンバーに非静的メンバーにアクセスするエラーは、クラスの非静的メンバーが存在しないときにクラスの静的メンバーがすでに存在しているため、メモリに存在しないものにアクセスするとエラーが発生するのは当然です.