2015-12-03 192 views
-7

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

    } 
} 
+1

什么语言的是,C#?请编辑您的问题并添加相关标签。我怀疑这个错误是关于循环的,所以标签也可能是错误的。你也有一些缩进问题。此外,标题对识别您的问题没有用处,并且您没有显示确切的错误信息,也不是[mcve]。请花点时间改善您的问题! –

+0

错误有多大,它的症结是什么? –

+0

请参阅标记的副本,这是一个同样过于宽泛的完全相同的问题。请注意,在你的代码中,你知道'SalesPerson'的值是'“A”'。你期望'Convert.ToInt32()'将什么_integer_值转换为?是什么让你认为这甚至是一个有效的转换? –

回答

1

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

所以,当你试试这个:

Sales = Convert.ToInt32(SalesPerson); 

...失败,因为“A”(营业员字符串的值)不能转换为整数。 “巨大”的错误可能基本上告诉你这一点。

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


     } 
    } 
相关问题