我有一个简单的递归方法谐:简单的递归方法谐
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