【发布时间】:2021-12-12 14:55:00
【问题描述】:
所以我在 C# 中编写了一个简单的代码:-
检查坐标是否在圆内
但是当我编译下面的程序时
public static void Main()
{
int[] centre={0,0};
int r=5;
Console.Write("Coordinates: ");
int pointX=Convert.ToInt16(Console.ReadLine());
int pointY=Convert.ToInt16(Console.ReadLine());
bool checkFirst=((pointX - centre[0])^2)+((pointY - centre[1])^2)== r^2;
string check= checkFirst ? "true" : "false";
Console.WriteLine(
"It is {0} that {1},{2} is inside circle {3} of radius {4}.",
check,pointX,pointY,centre,r);
}
在 pointX - center 的行上,显示的错误是 减法在 bool 中,我无法平方
如果我去掉中心并写任何整数,答案是正确的。
请帮忙!!!
【问题讨论】:
-
^不是“幂”运算符(不存在),而是按位异或 -
仅供参考,
int是Int32,因此正确的解析是 Convert.ToInt32 - 但这不是问题的根源。 Int16 == 短 -
注意:“centre”的“ToString”是“System.Int32[]”,而不是“(0,0)” - 您需要单独指定值