0

我必须在 jGRASP 中使用多个嵌套循环来获得所需的输出。当我把这个:

正方形

我必须得到这个:

SQUARE
Q    R
U    A
A    U
R    Q
ERAUQS

到目前为止我的代码:

String output="";
        output+= word;
      for (int i = 1; i < word.length()-1; i++)
      {
         output+= word.charAt(i)+"\n";
         for (int j = 0; j < word.length() - 2; j++)
         {
            output += " ";
         }
         output += (word.length() - i - 1);
      }
      StringBuffer s = new  StringBuffer(word);
      output+= s.reverse();

但我的输出是:

squareq
    4u
    3a
    2r
    1erauqs

如何修复内部区域?

需要帮助的是内部 for 循环。我应该定义StringBuffer之前并反转它并使用charAt()吗?

我试过了,但我不断收到“找不到符号”错误。

我是这个网站的新手,对于任何不一致之处,我深表歉意。

4

1 回答 1

0

我只修改了两行代码,非常好。

这是您评论的解决方案:

String output="";
        output+= word+"\n";
        for (int i = 1; i < word.length()-1; i++)
        {
            output+= word.charAt(i); //removed new line
            for (int j = 0; j < word.length() - 2; j++)
            {
                output += " ";
            }
            output += word.charAt(word.length() - i - 1)+"\n"; //added charAt and new line at the end
        }
        StringBuffer s = new  StringBuffer(word);
        output+= s.reverse();

结果看起来像预期的那样:

SQUARE
Q    R
U    A
A    U
R    Q
ERAUQS
于 2014-10-31T01:41:35.363 回答