首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我不能在Java中使用数学方法

我不能在Java中使用数学方法
EN

Stack Overflow用户
提问于 2012-08-04 18:18:56
回答 4查看 28.6K关注 0票数 2

我需要在我的Android游戏中使用“need”方法,但是eclipse说没有这样的方法。下面是我的代码:

代码语言:javascript
运行
复制
import java.lang.Math;//in the top of my file
float distance = hypot(xdif, ydif);//somewhere in the code
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-04 18:22:13

首先,你根本不需要在java.lang中导入类型。已经有一个隐式的import java.lang.*;。但是导入类型只是通过其简单的名称来提供该类型;这并不意味着您可以在不指定类型的情况下引用这些方法。您有三个选项:

  • 对您想要的每个函数使用静态导入:

导入静态java.lang.Math.hypot;// etc

  • 使用通配符静态导入:

导入静态java.lang.Math.*;

  • Explicitly参考静态方法:

//参见下面的注释: float distance = Math.hypot(xdif,ydif);

还要注意,hypot返回double,而不是float -因此您需要强制转换,或者使distance成为double

代码语言:javascript
运行
复制
// Either this...
double distance = hypot(xdif, ydif);

// Or this...
float distance = (float) hypot(xdif, ydif);
票数 21
EN

Stack Overflow用户

发布于 2012-08-04 18:21:16

代码语言:javascript
运行
复制
double distance = Math.hypot(xdif, ydif);  

代码语言:javascript
运行
复制
import static java.lang.Math.hypot;
票数 2
EN

Stack Overflow用户

发布于 2012-08-04 18:22:31

要使用静态方法而不使用它们所在的类,您必须静态地导入它。将您的代码更改为以下代码之一:

代码语言:javascript
运行
复制
import static java.lang.Math.*;
float distance = hypot(xdif, ydif);//somewhere in the code

或者这样:

代码语言:javascript
运行
复制
import java.lang.Math;
float distance = Math.hypot(xdif, ydif);//somewhere in the code
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11807779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档