数字回文检查器的问题



我的代码有问题,找不到我的错误。为什么只有第一次尝试有效,而每次尝试它都会打印我假?
即使我输入323,例如,这是真的,之后打印"真",即使是空洞的风景,一切都是假的。

class Program
{
public static void Main()
{
string inputedString = Console.ReadLine();
string reversedString = string.Empty;
while (true)
{
if (inputedString == "END")
{
break;
}
for (int i = inputedString.Length - 1; i >= 0; i--)
{
reversedString += inputedString[i];
}
if (reversedString == inputedString)
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
}
}
}

您在循环外部读取第一个字符串,但从不重新读取循环内的字符串。 您也不会清除反向字符串,因此循环中的每次后续时间都是错误的。

public static void Main()
{
string inputedString; 
string reversedString;
while (true)
{
inputedString = Console.ReadLine();
reversedString = string.Empty;
if (inputedString == "END")
{
break;
}
for (int i = inputedString.Length - 1; i >= 0; i--)
{
reversedString += inputedString[i];
}
if (reversedString == inputedString)
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
}
}
}

下面的代码部分应该在"while"循环中

string inputedString = Console.ReadLine();
string reversedString = string.Empty;

最新更新