return 1/n + f(n-1);这里错了java中/当两边都是int是它代表取整运算
2种改法:1)int n = console.nextInt();定义n是用double来定义
2)return 1/n + f(n-1);这里讲结果强转为double
将return 1/n + f(n-1);
改成return 1.0/n+f(n-1);
就可以了,我已经在本机试过了
- -你return的0.5返回姐过不就是0.5么。。
public static double f(int n){
double sum_num=0;
for(int i=2;i<=n;i++){
sum_num=sum_num+1/i;}
return sum_num;
}