![](/img/trans.png)
[英]Increment a string from numbers 0-9 to lowercase a-z to uppercase A-Z in C#
[英]Printing the letters from A-Z using recursion in c#
所以这就是我想要的,我正在尝试从AZ打印所有数字,但只打印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));
}
}
}
从Main
除去WriteLine
并将其放在getAlpha
,这样就可以打印每个字母,因为每个字母都有一个调用。
您可以更改方法的返回类型并像Console.WriteLine(getAplha(65));
一样调用它Console.WriteLine(getAplha(65));
public static string getAplha(int number = 65)
{
if (number == 90)
{
return "" + (char)number;
}
return (char)number + getAplha(number + 1);
}
当您从最深的递归级别“弹出”时,WriteLine仅发生一次。 您需要从getAlpha方法编写。
您仅在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));
}
}
}
为此,您需要在递归方法内部使用Console.WriteLine
public static void getAplha(int number=65)
{
Console.WriteLine(Convert.ToChar(number));
if (number==90)
{
return;
}
getAplha(number + 1);
}
然后,您不需要返回类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.