我试图让代码打印出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)
你的错误是写的,System.currentTimeMillis() / x <= 9而不是System.currentTimeMillis() / x > 9.
你的循环甚至没有运行一次,因为它无法满足System.currentTimeMillis() / x <= 9.
附注:请记住,这System.currentTimeMillis() / x并不总是一个整数.如果用"单个数字"表示"小于10"(例如9.563),则应该改写System.currentTimeMillis() / x >= 10.但是,我怀疑两者之间的除法long会产生十进制数.