我有一個簡單的遞歸方法諧:簡單的遞歸方法諧
public static int harmonicOf(int n)
{
if(n==1)
{
return 1;
}
return 1/n + harmonicOf(n-1);
}
它總是返回1
,我明白爲什麼做到這一點。我也知道,如果我從int
切換到double
,那麼它也可以工作。
我只是很好奇,爲什麼這是 - 爲什麼它是雙倍的時候它不會也返回1
,並且有沒有任何可能的方式使用int
?
使用整數變量來存儲浮動值是沒有意義的。所以只是你不能用int來做它。 – Athiruban 2014-09-06 14:28:13