-4

私はこの逆ピラミッドを持っています:

     String spaces = "";

         int x =0;
             int counter = fulllName.length();

         for( x = 0; x < fullName.length()/2; x++ ) 
         {
             System.out.println(counter-x + "[" + spaces + fullName.substring(x, fullName.length()-x) + "]");
             spaces = spaces + " ";
         }

そして、各行の先頭に各行の長さを出力させたいのですが、ピラミッド自体の一部として. また、各行を角かっこ [ ] で囲みますが、角かっこの外側に行の長さを指定します。しようとすると、次のように出力されます。

     7[ 1111111]
     7[  11111]
     7[   111]
     7[    1]

そして、私はこのようなものが欲しい:

    7[1111111]
     5[11111]
      3[111]
       1[1]
        0[]
4

4 に答える 4

2

printステートメントでcounter-x + "[" + spacesと置き換えるだけです。spaces + counter-x + "["

于 2012-10-02T14:54:48.440 に答える
1

すべきではありません:

spaces + fullName.length()-x + "[" + fullName.substring(x, fullName.length()-x + "]"
于 2012-10-02T14:54:00.187 に答える
1

変化する

for( x = 0; x < fullName.length()/2; x++ ) 
{
     System.out.println(counter-x + "[" + spaces + fullName.substring(x, fullName.length()-x) + "]");
     spaces = spaces + " ";
}

for( x = 0; x < fullName.length()/2; x++ ) 
{
   System.out.println(spaces + counter-x + "[" + fullName.substring(x, full Name.length()-x) + "]");
   spaces = spaces + " ";
}
于 2012-10-02T14:55:45.490 に答える
1

括弧内にスペースがある場合、println() は次のようになります。

System.out.println(spaces + (counter - x) + "[" + fullName.substring(x, fullName.length() - x) + "]");
于 2012-10-02T14:59:53.687 に答える