【发布时间】:2015-06-01 15:18:58
【问题描述】:
运行此函数时,在计算出距离公式后,var 编号 10 将始终等于 0。我怎样才能解决这个问题。提前致谢
Int32 Number1;
Int32 Number2;
Int32 Number3;
Int32 Number4;
Int32 Number5;
Console.WriteLine("Type in your 1st X coordinate");
Number1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Type in your 1st Y coordinate");
Number2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Type in your 2nd X coordinate");
Number3 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Type in your 2nd Y coordinate");
Number4 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Do you want to use the distance or midpoint formula.(Type 0 for distance and 1 for midpoint)");
Number5 = Convert.ToInt32(Console.ReadLine());
Int32 Number6 = Number1 - Number3;
Int32 Number7 = Number6 * Number6;
Int32 Number8 = Number2 - Number4;
Int32 Number9 = Number8 * Number8;
Int32 Number10 = Number6 + Number8;
if (Number5 == 0)
{
Console.Out.Write("Square Root of");
Console.Out.Write(Number10);
}
【问题讨论】:
-
你看过
Number6、Number8、Number1、Number3、Number2和Number4的值是什么吗? -
是的,您按照 readlines 中的说明填写它们。
-
既然你在计算两点之间的距离,你不应该在减去两点时 Math.Abs()
-
1.使用
Int32通常不是最佳实践,而是使用int。 2. 那些变量名太可怕了,它会让将来(甚至现在)调试事情变得非常不愉快。有意义的变量名非常有用。 3. 你在做Number10 = Number6 + Number8,这是错误的。应该是Number10 = Number7 + Number9。 (注意我所说的关于调试的内容。)然后你应该在上面做你的Math.Sqrt。 -
单步执行,检查变量。您几乎肯定会发现问题所在。
标签: c# .net visual-studio