不会在for循环中打印x

0 java for-loop output

我试图让代码打印出x(每次平方x),直到它达到将当前时间(以毫秒为单位)分成单个数字的数字.它没有任何错误,但它也没有输出.如何将其打印出来?

public class Experiment {

    public static void main(String[] args){

         long start = System.currentTimeMillis();

         for(long x = 2; System.currentTimeMillis() / x <= 9; x=x*2){
             System.out.println(x);
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

Gen*_*rme 6

你的错误是写的,System.currentTimeMillis() / x <= 9而不是System.currentTimeMillis() / x > 9.

你的循环甚至没有运行一次,因为它无法满足System.currentTimeMillis() / x <= 9.

附注:请记住,这System.currentTimeMillis() / x并不总是一个整数.如果用"单个数字"表示"小于10"(例如9.563),则应该改写System.currentTimeMillis() / x >= 10.但是,我怀疑两者之间的除法long会产生十进制数.