2016-04-18 12 views
0

で「広場」を描きます。私はのように「」行の多くのクラスのインスタンス変数sideLengthに格納された値と同じ数の行があるように、「」の出力ラインにメソッドを取得しようとしています、入力パラメータで正方形のクラスを持っています。コードはスクエア(3)を作ったのであれば、私はdrawSquareと呼ばれる方法を介して出力は、私はアスタリスクを使用してJavaで「四角」を描くしようとしていたJava

Click for image

にしたいです。

は、これまでのところ私が持っている:

class Square { 

    int sideLength; 

    Square(int size) { 
     sideLength = size; 
    } 

    int getArea() { 
     return sideLength * sideLength; 
    } 

    int getPerimeter() { 
     return sideLength * 4; 
    } 

    void drawSquare() { 
    } 

    public static void main(String[] args) { 
     Square mySquare = new Square(4); 
     int area = mySquare.getArea(); 
     int perimeter = mySquare.getPerimeter(); 
     System.out.println("Area is " + area + " and perimeter is " + perimeter); 
     System.out.println("*" +) 
     Square mySquare2 = new Square(10); 
    } 
} 
+3

は[forループ]について、あなたは学ぶのを助けるために、この演習の目的のように見える(https://docs.oracle.com/javase /tutorial/java/nutsandbolts/for.html)。 – dnault

答えて

2

これは本当に簡単なので、私は解決策ではなく、ほんの少しのヒントを与えます。

あなたが作っ広場を見れば、あなたは3の辺の長さを持つ、それが3つのアスタリスクそれぞれの3行で構成され、ことがわかります。

このような行を作成するには、for()ループを使用して1から3になり、毎回"*"が出力されます。

あなたは3つの、このような行を必要として、あなたはまた、最終的なヒントとして1から3

に行くこと、他にその最初のループを囲みたい:System.out.print("*")はアスタリスクを印刷し、新しい行を開始しません。 System.out.println()は改行を開始します。ループのネストされた

+0

だから私は、いくつかの行がsideLengthまでカウントし、System.out.println();その数の行を生成します。それで、私は別のforループが必要です。これは、アスタリスクのセット番号を出力し、System.out.print( "*")を使用してそのアスタリスクの番号を1行に印刷します。 forループに関する少しの研究をした後、私の言うところのところでは意味がありますが、メインシステムの出力にボイド関数を出力する方法については混乱しています。 – ThoseKind

+0

正確に。ループは、プログラミング言語のもっともよく使われる構造の1つ( 'if()'の他に)です。 – Ridcully

+0

しかし、プログラム終了時にvoidメソッドを出力するにはどうすればよいですか?答えを得るためにメソッドを作成する方法を理解していますが、出力することはできません。 – ThoseKind

0

あなたの最善の策は、その行を何回同じ量を繰り返して、ラインに出力し、forループ2は、ネストされたアスタリスクの一定量を使用することです。

for (int x = 0; x < sideLength; x++) { 
    for (int y = 0; y < sideLength; y++) { 
     System.out.print("*"); 
    } 
    System.out.println(""); //Short for new line. 
} 
+0

は、代わりに ''のSystem.out.println( "")私は実際に動作していることを知りませんでした ' – dnault

+0

@dnaultののSystem.out.println()を'好みます。私はこれを前年のように前回使用しただけです。 –

+0

ありがとうございました。これは、私がこのコードの自分のバージョンを書くのに良い基礎を提供しました。 – ThoseKind

-4

は、これを行うための簡単な方法です:

for(int i = 0; i< y; i++){ 
    for(int j = 0; j < x; j++){ 
     System.out.print("*"); 
    } 
    System.out.println(); 
} 
+1

少なくとも揺れ動いの例を提供してください –

+1

魚に教える、魚を与えないでください。 –

関連する問題