Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java while循环变量跳转为初始值_Java_Eclipse_Math_While Loop - Fatal编程技术网

Java while循环变量跳转为初始值

Java while循环变量跳转为初始值,java,eclipse,math,while-loop,Java,Eclipse,Math,While Loop,对于以下简单的while循环,每5次运行一次,我会得到一个x的错误值列表,就像值突然跳转一样: package test; public class test_old { public static void main(String [] args) { double r0 = 0.1; double r = 10; double k = 0.05; double x = 0; double Tt = 0; double T = 0;

对于以下简单的
while
循环,每5次运行一次,我会得到一个x的错误值列表,就像值突然跳转一样:

package test;
public class test_old {

public static void main(String [] args) {
    double r0 = 0.1;
    double r = 10; 
    double k = 0.05; 
    double x = 0; 
    double Tt = 0;
    double T = 0;
    while (Tt<=30) {
        double xi = Math.random();
        T = Math.log(1/xi)/(k*x + r0 + r);
        Tt = Tt + T;
        x = x + 1;
        System.out.println(x);
    }   
}
}
封装测试;
公开课考试{
公共静态void main(字符串[]args){
双r0=0.1;
双r=10;
双k=0.05;
双x=0;
双Tt=0;
双T=0;

虽然(TtMath.random()给出的值为0.0,你能解释一下吗?对我来说,它总是以700左右结束…可能是double xi=Math.random();与之相关。在每个循环结束时打印出你得到的xi和Tt值,也许你会发现你的问题。这对我来说是不可复制的。我得到了大约730次迭代。不可复制…我也得到了730次迭代…有趣的是,我与xi=0.99999有相同的行为;谢谢你的帖子,非常有用。
v=0.99999999, log(1/v)=0.00000000001...
 double xi = Math.random();
 double xi = 0.999999999999;