为什么我总是出错

本文关键字:出错 为什么 | 更新日期: 2023-09-27 18:25:29

对于这段代码,我一直收到一个错误。当我输入"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);   
        }
    }
}

为什么我总是出错

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

所以,当你尝试这个:

Sales = Convert.ToInt32(SalesPerson);

它失败了,因为"A"(SalesPerson字符串的值)无法转换为整数。"巨大"的错误可能基本上就是在告诉你这一点。

你可以试试这个:

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

        }
    }