使用c#中的递归打印A-Z中的字母

时间:2016-02-05 20:22:31

标签: c# recursion

所以这就是我所拥有的,我试图打印A-Z中的所有数字,但它只打印Z,请帮助和谢谢(使用递归)

using system;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace AtoZRecursion
{ 
    class Program
    {  
     static void Main(string[] args)
     {
        int number=65;
        getAplha(number);
        Console.WriteLine(Convert.ToChar(getAplha(number)));
        Console.ReadKey();
    }
    public static int getAplha(int number=65)
    {
        if (number==90)
        {
            return Convert.ToChar(number);
        }
        return Convert.ToChar(getAplha(number + 1));
    }

}

}

5 个答案:

答案 0 :(得分:2)

WriteLine移除Main并将其放在getAlpha的开头,以便打印每个字母,因为每个字母都有一个电话。

答案 1 :(得分:2)

您可以更改方法的返回类型,并像Console.WriteLine(getAplha(65));

一样调用它
public static string getAplha(int number = 65)
{
    if (number == 90)
    {
        return "" + (char)number;
    }
    return (char)number + getAplha(number + 1);
}

答案 2 :(得分:0)

WriteLine只发生一次,当你" pop"从最深的递归级别回来。 您需要使用getAlpha方法编写。

答案 3 :(得分:0)

您只记录Console.WriteLine中递归的最后一个值。相反,像这样包装你的WriteLine:

using system;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace AtoZRecursion
{ 
    class Program
    {  
        static void Main(string[] args)
        {
            int number=65;
            getAplha(number);

            Console.ReadKey();
        }

        public static int getAplha(int number=65)
        {
            if (number==90)
            {
                Console.WriteLine(Convert.ToChar(number));
                return Convert.ToChar(number);
            }

            Console.WriteLine(Convert.ToChar(number));
            return Convert.ToChar(getAplha(number + 1));
        }
    }
}

答案 4 :(得分:0)

为此,您需要递归方法中的Console.WriteLine

public static void getAplha(int number=65)
{
    Console.WriteLine(Convert.ToChar(number));
    if (number==90)
    {
        return;
    }

    getAplha(number + 1);
}

然后你不需要返回类型。