2011-10-29 9 views
0

サイズ制限が20文字(正方形のサイズ)の正方形のASCIIを描画する際に問題があります。これは私のコードです。テストしましたが動作しますが、 20以上のそれはエラーを表示している、plsの助け、ありがとう。Javaを使用したASCIIアートの描画

class Main { 
    public static void printSquare(int size) { 
     int line = 1; 

     while (line <= size) { // For each line of square 
      int width = size; // width of square segment 
      int i = 1; // display square segment 

      while (i <= width && size <= 20) { 
       System.out.print("*"); 
       i = i + 1; 
      } 

      System.out.println(); // Newline 
      line = line + 1; 
     } 
    } 
} 
+0

あなたが得るエラーは何ですか? – Marcus

答えて

3

問題は、サイズが20にそれを制限するためのより良い方法は、ループの前にサイズを制限することであろう20よりも大きい場合は、*を印刷することは決してないだろうということです。

public static void printSquare(int size) { 
    if(size > 20) { 
     size = 20; 
    } 
    int line = 1; 

、その後

while (i <= width) { 

while (i <= width && size <= 20) { 

を編集

+0

ありがとう、しかし、私が意味するのは、sizeの値が20より大きい場合に*を0に表示することで、それらを以下のように変更することです:public static void printSquare(int size) { if(size> = 20 && size> = 0){ サイズ= 0; } int line = 1; – user761497

+0

Okey。それは明確に記載されていないので、私の答え、次回はもう少し情報を提供しようとする:)とbtw、答えの左側にアウトラインをチェックして答えとしてそれを受け入れる。 – Marcus

関連する問題