2301_79887726 2023-11-26 18:29 采纳率: 50%
浏览 2
已结题

输出结果是nan怎样解决(语言-java)

img


我输入1.2的时候输出结果是nan换成float也不行
1234567891234576

  • 写回答

4条回答 默认 最新

  • 关注

    x=x * x这里不对,需要另外声明一个double类型的变量 t = x,然后 t = t * x。b = x/n改成 b = t/n
    求阶乘不用单独的函数也行,我先按你的代码改。
    代码修改如下:

    
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner reader = new Scanner(System.in);
            double n,b=1;
            double sum = 1;
            double x = reader.nextDouble();
            double t = x; //这里添加一个变量t,并初始化为x
            for(int i=1;b>=0.00001;i++){
                n = fangfa(i);
                b = t/n; //这里改为 t/n
                t = t*x; //这里改变t的值,不是改变x的值
                sum = sum + b;
            }
            System.out.printf("%.4f", sum);
        }
        public static double fangfa(int a){
            double num = 1;
            for(int i=1;i<=a;i++){
                num = num * i;
            }
            return num;
        }
    
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 模块化生产的路径规划哪种算法更合适?
  • ¥15 如何在animate html5文档任意位置实现文本输入功能?
  • ¥15 电机正反转电路设计中,mos管的关断问题,求原因。
  • ¥15 关于#sql#的问题:怎么找出所有同时多张有效保单的车架号
  • ¥15 KFC账号下单提示拒绝操作
  • ¥20 HC32F460串口发送仅能接到一个数据
  • ¥15 求解答一下是否可以修改一个软件运行时生成的文件内部内置的文件创建时间?
  • ¥20 WIN10蓝屏问题!
  • ¥15 Mac经常自动关机,再次打开后提示“电脑因出现问题而重新启动”
  • ¥60 使用ovito软件怎么得到金属玻璃的自由体积