sqrt 需要 int 但我已经在使用 int

sqrt requires int but I'm already using int

int Asum,temp4;
temp4=Math.sqrt(Asum);

这是我正在编写的代码的一部分。我已将 Asum 和 temp4 声明为整数。我正在尝试获取 Asum 的 sqrt 并将其分配给 temp4。但出于某种原因,java 给了我错误:可能会丢失精度。要求=整数。发现=双。 我需要 temp4 和 Asum 是一个整数。并且没有必要获得精确的十进制值,我只需要四舍五入的整数。

您是否尝试过向 int 添加显式强制转换,以便编译器知道您知道自己在做什么?

temp4= (int) Math.sqrt(Asum);

temp4 不应该是整数...它可以是浮点数。

我认为你需要使用 Math.round 功能。

尝试:

temp4=Math.round(Math.sqrt(Asum));