-1

for ループを使用して以下のような星の付いた三角形を描きたいのですが、これを行う方法がまったくわかりません。三角形は次のようになります。

*
**
***
****
*****
******
*******
********
*********
**********

等々。誰でも私を助けてもらえますか?

public class Project1 {
    public static void main (String[] args){
        int c, d, e;
        for (c = 1 ; c <= 8 ; c++){
            for (d = 1 ; d <= c ; d++){
                System.out.print ("*");
            }
            System.out.println("");
        }

        for (e = 1 ; e <= 4 ; e++){
            System.out.println ("***");
        }
    } 
} 

これは私がインターネットから見つけたものですが、2つのループを使用する理由がわかりませんでした. (ステムを構築するために使用されるものを理解しました。)

4

9 に答える 9

5
public static void main(String[] args)
{

    StringBuilder stars = new StringBuilder();

    for(int i = 0; i <= 10; i++)
    {
           stars.append("*");
           System.out.println(stars);
    }

}

または、ネストされたループを使用することもできます:(これは、演習で実際に実行しようとしていたことです)

public static void main(String[] args)
{
    for(int i = 0; i <= 10; i++)
    {
        for(int j=0; j<=i; j++)
        {
            System.out.print("*");
        }
        System.out.print("\n");
    }
}
于 2012-06-07T13:44:08.277 に答える
2

2つのforループが必要になります。1つは行を印刷し、もう1つは行の文字を印刷します。現在の行の数を使用して、特定の数の星を印刷できます。

新しい行を追加せずに印刷するために使用System.out.print("*")します。2番目のループの最後にSystem.out.println()

ループの実装は演習として残しておきます。構文は次のとおりです。http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

于 2012-06-07T13:44:37.523 に答える
1

インターネットで見つけたコードにコメントするだけです...

  1. から開始する特別な理由がない限り、ループforは常に から開始する必要があります。java を使用する際に役立つので、すべてのことから始めることを練習するのは良い習慣です。010arrays
  2. 2 つforのループは互いに内側にあります... 外側のループは、三角形に含まれる線の数を制御するだけです (8この場合)。内側のループは、その行の星の数を書き込んでいます。これは結果を達成する最良の方法ではありませんが、正しく機能します。
  3. 下部のforループは、木の幹のように見えるように星を書きます。

これがあなたの理解に役立つことを願っています。

于 2012-06-07T13:53:04.690 に答える
0
public class StarA {

public static void main(String[] args) {

    for( int i = 1; i <= 5; i++ )
    {
        for( int j = 0; j < i; j++ )
        {
            System.out.print("*");

        }
        System.out.println();
    }

    }
 }
于 2014-07-07T04:37:11.977 に答える
0

これにより、質問の解決策が得られます。

class Seven 
{
public static void main(String arg[])
{
for(int i=0;i<=8;i++)
{
for(int j=8;j>=i;j--)
{
System.out.print(" ");
}
for(int k=1;k<=(2*i+1);k++)
{
System.out.print("*");
}
System.out.println("\n");
}
}
}
于 2012-09-11T19:14:58.373 に答える
0
import java.util.Scanner;
public class apple{
public static void main(String[] args){

int c,r;
for(c=1; c<=10; c++){
for(r=1; r<=c; r++){
System.out.print("*");
}
System.out.println();
}
}
于 2013-09-05T04:36:47.607 に答える
0

必要な目標のために2つのループが必要です。3番目のループは役に立ちません。最初の外側のループは行用で、内側のループは「*」を印刷するためのものです。外側のループは、行を変更し、必要な行数を維持するためにここで使用されます。

public static void tri()
{ 
     for(int i=0;i<8;i++)
       {
          for(int j=0;j<=i;j++)
             {
                System.out.print("*");
                }
                   System.out.println();
                     }
}
于 2019-08-03T07:35:49.607 に答える