Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试让我的程序获得数字的第 5 个根。我已经使用该Math.pow(a, b);方法来获得它,但是由于某种原因它不起作用。
Math.pow(a, b);
可以说我做类似的事情double z = Math.pow(5, 5)。一旦它获得值,我就会对此进行 a System.out,它将打印3125. 当我z = Math.Pow(z, 1/5)之后对它进行操作并执行 System.out 时,它不会给我 5 的结果,而是 1。有人可以向我解释为什么会这样吗?
double z = Math.pow(5, 5)
System.out
3125
z = Math.Pow(z, 1/5)
谢谢!
尝试z = Math.Pow(z, 1.0/5)
z = Math.Pow(z, 1.0/5)
1/5 == 0在java中
1/5 == 0
这是因为您正在进行整数除法:1/5是 0 因此结果(x^0 始终为 1)。
1/5
尝试:z = Math.Pow(z, 1.0d/5);
z = Math.Pow(z, 1.0d/5);
1/5 作为整数除法四舍五入为 0。
试试 1.0/5,或者只放 0.2。