我正在尝试让我的程序获得数字的第5个根。我已经使用Math.pow(a, b);
方法来获取此信息,但由于某种原因它无法正常工作。
让我说我做double z = Math.pow(5, 5)
之类的事情。一旦获得值,我就会对此进行System.out
,并且会打印3125
的结果。当我事后z = Math.Pow(z, 1/5)
做一个System.out时,它不会给我5的结果,而是1.有人可以向我解释为什么会发生这种情况吗?
谢谢!
答案 0 :(得分:13)
尝试z = Math.Pow(z, 1.0/5)
1/5 == 0
答案 1 :(得分:7)
这是因为你正在进行整数除法:1/5
为0因此结果(x ^ 0总是1)。
尝试:z = Math.Pow(z, 1.0d/5);
答案 2 :(得分:6)
1/5轮到0作为整数除法。
尝试1.0 / 5,或者只是加0.2。