2017-10-16 5 views
-12

私はJavaの初心者で、スターダイヤモンドを作るプログラムを探していました。ここ は、私がネット上で見つけたものです:プログラム内のカウントの使用方法

public class JavaStarPattern { 

    public static void main(String[] args) { 
     int number = 5; 
     int count = number - 1; 
     for (int k = 1; k <= number; k++) { 
      for (int i = 1; i <= count; i++) 
       System.out.print(" "); 
      count--; 
      for (int i = 1; i <= 2 * k - 1; i++) 
       System.out.print("*"); 
      System.out.println(); 
     } 
     count = 1; 
     for (int k = 1; k <= number - 1; k++) { 
      for (int i = 1; i <= count; i++) 
       System.out.print(" "); 
      count++; 
      for (int i = 1; i <= 2 * (number - k) - 1; i++) 
       System.out.print("*"); 
      System.out.println(); 
     } 
    } 
} 

count--、およびcount++の使用は何ですか? 私たちはなぜcount--が必要です、同じ文でi++を使用している場合は、2番目のforループステートメントでは、

+3

あなたは[Javaのを読みたいかもしれませんチュートリアル](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html)を参照してください。 –

+3

[ナットとボルト:単項演算子](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html) –

+0

コードをデバッグして、それを参照してそれは、ステップバイステップで行います。 – Korashen

答えて

0

ここでは、あなたのコードを理解しない場合は、より良いネーミングおよびドキュメントの数行との完全なプログラムの開発を見ることができます - DOCそれは正しい方法....

public static void main(String[] args) { 
    int rows = 5; 
    int spaces = rows - 1; 
    int stars = 1; 

    // Print rows forwards 
    for (int k = 0; k < rows; k++) { 
     // print spaces at linebeginning 
     for (int i = 0; i < spaces; i++) 
      System.out.print(" "); 

     // print stars for this line 
     for (int i = 0; i < stars; i++) 
      System.out.print("*"); 

     // setting for next line 
     spaces--; // spaces -= 1 
     stars += 2; // add 2 more stars for each row 
     System.out.println(); 
    } 

    // turn around diamond 
    spaces = 1; // because longest line was printed before. 
    rows--; // need 1 row less 
    stars = ((rows - 1) * 2) - 1; // calculate stars MAX backwards 

    // print fows backwards 
    for (int k = 0; k < rows; k++) { 

     for (int i = 0; i < spaces; i++) 
      System.out.print(" "); 

     for (int i = 0; i < stars; i++) 
      System.out.print("*"); 

     // Settings 
     spaces++; 
     stars--; 
     System.out.println(); 
    } 
} 
関連する問題