[英]only execute a statement every millionth time in a loop
我有一个while循环,每次运行大约一千万次,每次增加一个变量“ day”。 我希望程序仅在经过一百万天后打印行(即
一百万天过去了
200万天过去了
...
循环完成
到目前为止,我有代码:
double dayMill; //outside the loop
...
dayMill = day/1000000; //every runthrough of the loop
我正在考虑将if语句用于类似
if( (int)dayMill == dayMill){}
因为当day = 1,000,000时,daymill = 1,所以也将其转换为int,所以它也是1。 但是,这不起作用。 它打印了0.0百万天...很多直到1.0了很多.....从不只是我想要的每一百万的一行
if(dayMill % 1000000 == 0)
{
//print statement
}
那就是如果您将dayMill设为int。 如果要加一,为什么会加倍? 我想我不太了解您在做什么。
怎么样
if (day % 1000000 == 0) {...}
无论您的循环索引是什么,
if (index % 1000000 == 0)
{
// do your magic
}
您可以使用模数
for (long i = 1; ; i++) {
if (i % 1000000 == 0)
System.out.println(i);
}
版画
1000000
2000000
3000000
4000000
5000000
6000000
7000000
... etc ...
要么....
i++;
if(i == 1000000) {
print stuff;
i=0;
}
我要做的是:
int count = 0;
int times = 1_000_000;
while (true) {
....
if ( ++count % times == 0 ) {
...
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.