回文检查器数字问题

时间:2018-10-23 22:06:34

标签: c# palindrome error-code

我的代码有问题,找不到我的错误。为什么只有第一个尝试有效,而在其他所有尝试中却显示错误?
甚至当我输入323时(例如,这是真实的),然后在所有内容均为假(甚至是空花scape)之后也显示“ true”。

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");
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

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

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");
            }
        }
    }
}

答案 1 :(得分:1)

下面的代码部分应该在“ while”循环内

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