我收到错误"调用的目标抛出了异常。"

时间:2018-02-04 22:47:34

标签: c#

我在一个网站上学习c#,我来完成这项任务: 我们的程序应该从新行读取两个整数。然后,它应输出这些数字的和,差,乘积和商。如果第二个数字为零,它应该回答“不能为零!”#34;而不是商。 例1:

  

12   4   16   8   48   3

示例2:

  

12   0   12   12   0   不能除以零!

这是我的代码:

name = textfield.stringValue

当第二个数字不为0时,它完美地运行,但是当它出现时,我得到错误"调用的目标抛出了异常。"

2 个答案:

答案 0 :(得分:1)

在尝试分割之前,您应该检查第二个数字是否为0:

if (num2 == 0)
{
    Console.WriteLine("Can't divide by zero!");
}
else
{
    int quo = num1 / num2;

    Console.WriteLine($"{quo}");
}

答案 1 :(得分:0)

您必须在实际除法之前检查0的值。

protected override void OnElementChanged(ElementChangedEventArgs<Stepper> e)
{
    base.OnElementChanged(e);
    var s = Element as MyStepper;

    if (Control != null)
    {
        Control.GetChildAt(0).SetBackground(Resources.GetDrawable(Resource.Drawable.button_border));
        Control.GetChildAt(1).SetBackground(Resources.GetDrawable(Resource.Drawable.button_border));
        Control.GetChildAt(0).Background.SetColorFilter(s.MyColor.ToAndroid(), PorterDuff.Mode.Multiply);
        Control.GetChildAt(1).Background.SetColorFilter(s.MyColor.ToAndroid(), PorterDuff.Mode.Multiply);
    }
}

除以零,得到 int num1 = int.Parse(Console.ReadLine()); int num2 = int.Parse(Console.ReadLine()); int sum = num1 + num2; int diff = num1 - num2; int product = num1 * num2; int quo = 0; if (num2 != 0) { quo = num1 / num2; } Console.WriteLine($"{sum}"); Console.WriteLine($"{diff}"); Console.WriteLine($"{product}"); if (num2 == 0) { Console.WriteLine("Can't divide by zero!"); } else { Console.WriteLine($"{quo}"); } 。这是您想要通过检查避免的。