本人是新手小白,求e的值,精确到小数点后第5位

时间:2021-11-15 18:34:50
public class Value_of_e {
    public static void main(String[] args){
        double e=1.0,n=1.0,i=n,m=n,j=n;
        while(n!=0){
            while(n!=1){
                n = n-1;
                i = i*n;
                }
            e = e+(m/i);
            n = j+1;
            j = n;
            m = n;
            i = n;
        }
        System.out.println(e);
    }
}
我是两个死循环套在一起的,我想要求极限,我要怎么从这两个循环里出来呢?
e=1+1/1!+2/2!+3/3!+~~~+n/n!

4 个解决方案

#1


加个跳出的条件不就好了?n>10之类的

#2


加个退出条件。。

#3


java.text.DecimalFormat   df=new   java.text.DecimalFormat("###,###.#####");   
double e=1.0,n=1.0,i=n,m=n,j=n;
        while(n<=100){
            while(n!=1){
                n = n-1;
                i = i*n;
                }
            e = e+(m/i);
            n = j+1;
            j = n;
            m = n;
            i = n;
        }
          
        System.out.println(df.format(e));  
//希望可以帮到楼主,当n=100是跳出循环

#4


把,数字tostring(),求长度 ,长度大于6,也就是小数精确到了第五位,跳出循环.

#1


加个跳出的条件不就好了?n>10之类的

#2


加个退出条件。。

#3


java.text.DecimalFormat   df=new   java.text.DecimalFormat("###,###.#####");   
double e=1.0,n=1.0,i=n,m=n,j=n;
        while(n<=100){
            while(n!=1){
                n = n-1;
                i = i*n;
                }
            e = e+(m/i);
            n = j+1;
            j = n;
            m = n;
            i = n;
        }
          
        System.out.println(df.format(e));  
//希望可以帮到楼主,当n=100是跳出循环

#4


把,数字tostring(),求长度 ,长度大于6,也就是小数精确到了第五位,跳出循环.