2014-10-05 120 views
0
static void Main(string[] args) 
    { 
     int numVal = -1; 
     int numval = -1; 
     bool repeat = true; 

     Console.WriteLine("Welcome to the perpendicular line finder!"); 

     while (repeat == true) 
     { 
      Console.WriteLine("Please write the gradient of the line"); 


      string userValue = Console.ReadLine(); 

      try 
      { 
       numVal = Convert.ToInt32(userValue); 
      } 
      catch (FormatException e) 
      { 
       Console.WriteLine("That is not a valid number"); 
       continue; 
      } 
      catch (OverflowException e) 
      { 
       Console.WriteLine("That number is too large, sorry i cannot help you"); 
       continue; 
      } 
      Console.WriteLine("So the gradient is {0}? Y/N", numVal); 
      string go = Console.ReadLine(); 
      if (go == "Y" || go == "y") 
      { 
       repeat = true; 
      } 
      else 
      { 
       repeat = false; 
      } 

      Console.WriteLine("Please write the number that was added or subtracted"); 
      Console.WriteLine("but if it was subtracted leave the minus sign in"); 

      string userValue2 = Console.ReadLine(); 

      try 
      { 
       numval = Convert.ToInt32(userValue2); 
      } 
      catch (FormatException e) 
      { 
       Console.WriteLine("That is not a valid number"); 
       continue; 
      } 
      catch (OverflowException e) 
      { 
       Console.WriteLine("That number is too large, sorry i cannot help you"); 
       continue; 
      } 
      Console.WriteLine("So the added or subtracted number is {0}? Y/N", numval); 
      string go1 = Console.ReadLine(); 
      if (go1 == "Y" || go1 == "y") 
      { 
       repeat = true; 
      } 
      else 
      { 
       repeat = false; 
      } 

      int answer = -1/numVal; 

      Console.WriteLine("A perpendicular line to y = {0}x+{1} is y = {3}x", numVal, userValue2, answer); 
      Console.ReadLine(); 
     } 

它配备了这个错误: 型“System.FormatException”未处理的异常出现在mscorlib.dll 这种情况发生时我运行代码,然后转向代码的倒数第二行。 我是新来的c#,不知道该怎么做,请帮助我。“类型‘System.FormatException’未处理的异常出现在mscorlib.dll”

+1

对不起,但本网站的章程不包括牲畜。 – 2014-10-05 19:52:18

+0

**阅读错误消息**,它会告诉你到底发生了什么问题。 – SLaks 2014-10-05 19:54:31

回答

0
Console.WriteLine("A perpendicular line to y = {0}x+{1} is y = {3}x", 
    numVal, userValue2, answer); 

格式字符串是指不存在的参数{3},更换{2}

+0

谢谢,但它给出的答案始终是“y = 0x”,你能解释为什么。 – Piggy 2014-10-05 20:02:49

+0

@Piggy'int answer = -1/numVal;'看起来不正确。应该是'double answer = -1.0/numVal;'(注意'1.0')。整数除法小数部分。 – AlexD 2014-10-05 20:06:35

+0

谢谢你,我意识到-1是错误的,但我现在没有如何改变它。 – Piggy 2014-10-05 20:09:11

相关问题