小编Dil*_*ain的帖子

文本金字塔在Java中使用递归

我试图用任何文本输入制作一个完整的三角形.例如,如果我的字符串是"abcdefghij"我想要结果

    aj
   abij
  abchij
 abcdghij
abcdefghij
Run Code Online (Sandbox Code Playgroud)

如果字符串长度是奇数,如"abcdefghij"那么输出将是

    a
   abi
  abchi
 abcdghi
abcdefghi
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所得到的,但我的输出结果是颠倒的.我的输出是

    abcdefghij
   abcdghij
  abchij
 abij
aj
Run Code Online (Sandbox Code Playgroud)

到目前为止我做了什么

public static void main(String[] args) {

        solve("abcdefghij");

    }

    public static void solve(String word) {

        solve(word, word.length()/2-1);

    }

    public static void solve(String word, int it) {

        // print starting spaces
        for(int i = 0; i < it; i++)
            System.out.print(" ");

        // print out string
        System.out.print(word+"\n");


        if(word.length() > 2) {

            int newlengthperside = (word.length() - 2)/2;
            solve( word.substring(0, newlengthperside) + word.substring(word.length() - newlengthperside), …
Run Code Online (Sandbox Code Playgroud)

java recursion

5
推荐指数
1
解决办法
794
查看次数

标签 统计

java ×1

recursion ×1