java - 参数(整数)

标签 java

我是 Java 的初学者,我正在练习来自互联网的问题。我偶然发现了这个问题,但我被卡住了。

编写一个名为 distance 的方法,它接受四个整数坐标 x1、y1、x2 和 y2 作为参数,并计算笛卡尔平面上点 (x1, y1) 和 (x2, y2) 之间的距离。 例如,distance(1, 0, 4, 4) 的调用将返回 5.0,distance(10, 2, 3, 5) 的调用将返回 7.615773105863909。

public static int distance(int x1,int y1,int x2,int y2){
   int d=(x2-x1)*(x2-x1)-(y2-y1)*(y2-y1))^0.5;
    return (double)d;

}

我想澄清两件事。为什么当我使用 ^ 时,他们总是给我一个错误,说它不能应用。其次,我尝试在等式中的一个数字中使用 double。但它一直给我也是一个错误。

最佳答案

^ 是二元异或运算符。

使用Math.pow反而。或者 Math.sqrt (更好)。

您不应将结果转换为 int,然后再转换回 double。只需使用

public static double distance(int x1,int y1,int x2,int y2){
    return Math.sqrt((x2-x1)*(x2-x1)-(y2-y1)*(y2-y1)));
}

关于java - 参数(整数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15312578/

相关文章:

java - Hibernate 中的 RAW 类型

java - 无法实例化类型 actionlistener?

Java Applet 在浏览器中运行时不会显示图像

java - 使用 Spring MVC、JSR 303 注释将 binidng 表单转换为 bean 时出现异常

java - RequestParams params.put 方法未接收整数

java - Ant 嵌套更新

java - @Required 在 Spring 不工作?

java - 让动画更流畅

Java - 拖动绘制的对象

java - ArrayList 上使用的流 API 减少未同步