我需要在我的 Android 游戏中使用“hypot”方法,但是 eclipse 说没有这样的方法。这是我的代码:
import java.lang.Math;//in the top of my file
float distance = hypot(xdif, ydif);//somewhere in the code
首先,您根本不需要导入类型java.lang
。已经有暗示import java.lang.*;
了。但是导入一个类型只会通过它的简单名称使该类型可用。这并不意味着您可以在不指定类型的情况下引用方法。你有三个选择:
为您想要的每个功能使用静态导入:
import static java.lang.Math.hypot;
// etc
使用通配符静态导入:
import static java.lang.Math.*;
显式引用静态方法:
// See note below
float distance = Math.hypot(xdif, ydif);
另请注意,hypot
返回double
,而不是float
- 所以您要么需要转换,要么制作distance
:double
// Either this...
double distance = hypot(xdif, ydif);
// Or this...
float distance = (float) hypot(xdif, ydif);
double distance = Math.hypot(xdif, ydif);
或者
import static java.lang.Math.hypot;
要在没有它们所在类的情况下使用静态方法,您必须静态导入它。将您的代码更改为:
import static java.lang.Math.*;
float distance = hypot(xdif, ydif);//somewhere in the code
或这个:
import java.lang.Math;
float distance = Math.hypot(xdif, ydif);//somewhere in the code
1.首先java.lang.*已经包含,所以你不需要导入它。
2.要访问 Math 类中的方法,您可以执行以下操作...
-使用类名和点运算符访问静态方法。
Math.abs(-10);
-直接访问静态方法,然后你需要导入如下。
import static java.lang.Math.abs;
abs(-10);