为什么我一直收到错误

时间:2015-12-03 00:20:42

标签: c# loops

对于此代码,我一直收到错误。当我进入" A"它会显示"请输入金额",然后显示错误。

static void Main(string[] args)
{
    string SalesPerson;
    int Sales = 0;

    Console.WriteLine("Please enter the salesperons's initial");
    SalesPerson = Console.ReadLine().ToUpper();

    while (SalesPerson !="Z")
    {

        if (SalesPerson=="A")
        {
            Console.WriteLine("Please enter amount of a sale Andrea Made");
            Sales = Convert.ToInt32(SalesPerson);   
        }

    }
}

2 个答案:

答案 0 :(得分:1)

您正在混合字符串和整数。 Sales是一个int,SalesPerson是一个字符串,在你描述的情况下,是“A”。

所以,当你尝试这个时:

Sales = Convert.ToInt32(SalesPerson);

...它失败了,因为“A”(SalesPerson字符串的值)无法转换为整数。 “巨大”错误可能基本上告诉你这个。

答案 1 :(得分:-3)

你可以试试这个:

static void Main(string[] args)
    {
        string SalesPerson;
        int Sales = 0;

        //The loop to ask the user for a letter

        do
        {
            Console.WriteLine("Please enter the salesperons's initial");
            SalesPerson = Console.ReadLine().ToUpper();

            //If the letter is not equal to "A", repeat the prompt

            }while (SalesPerson != "A")

            if (SalesPerson=="A")
            {
                Console.WriteLine("Please enter amount of a sale Andrea Made");
                Sales = Convert.ToInt32(SalesPerson);


        }
    }