qq_38692022 2018-10-25 05:03 采纳率: 70%
浏览 1292
已采纳

java的简单自定义函数问题

package test2;

import java.util.Scanner;

public class test {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
double b = sc.nextInt();
int sum = qiuhe(b);
System.out.printf("结果为"+sum);
}
public static int qiuhe(double b)
{
int he = 0;
for(int i=1;i<=b;i++)
{
he+=Math.pow(-1, i-1)*(1/i);
}
return he;
}
}

这是我的代码 我想求的是 1-1/2+1/3-1/4.。。。。的前n项的和 但是我这个代码在软件上无法运行,求大家帮我解决一下
我不懂怎么做自定义的函数 希望高手help一下

  • 写回答

6条回答

  • JoeLemonade 2018-10-25 06:34
    关注

    我就仅仅改下原代码的问题哈
    1. 方法中生命he变量为int类型是不合适的,由于求的值为小数,应该使用double好一点;
    2. 在for循环内部的计算式中,由于i为整型,则1/i的计算结果也是整型,会丢失精度,直接改成除法;
    如下图所示:
    图片说明
    希望采纳哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题