每5次循环迭代(JAVA)增加int变量

时间:2014-10-13 03:06:57

标签: java loops iteration increment

我想每循环5次递增int变量。所以当前的int是009.我想把它改成一个无限循环,其中每5个循环的值加+ 1。所以在此之后,009的值将变为010,然后在5个循环之后。再次,它将变为011。

 String itemID = "2014-009";
    for (int i = 0; i <= 5; i++) {
        String sdf = new SimpleDateFormat("yyyy").format(new java.util.Date());
        String[] parts = itemID.split("-");
        String part2 = parts[1];
        int result = Integer.parseInt(part2);
        String second = sdf + "-" + String.format("%03d", result + 1);
        JOptionPane.showMessageDialog(null, second);
        System.out.println(second);
    }

4 个答案:

答案 0 :(得分:6)

这样的事情应该有效:

int value = 0;
for (int i = 0; ; i++) {
    if (i%5 == 0) {
        value++;
    }
}

说明:

  • 循环没有结束,因为它没有条件
  • value变量仅每5次迭代递增
  • 我们通过询问i是否完全除以5
  • 来强制执行该限制

请注意,我没有考虑int s 有限的事实,并且在某些时候它们会溢出。真正的&#34;无限&#34;值(仅受机器中可用内存的限制),我们必须使用任意精度值,BigInteger将派上用场。

答案 1 :(得分:1)

好吧,你应该在循环外初始化结果。 然后你可以使用一个计数器进行无限循环,该计数器检查迭代是否可被5分割:

....
int result = Integer.parseInt(part2);
int i = 0;

while (true) {
    i++;
    if (i%5 == 0)
        result++;
    ....
}

答案 2 :(得分:0)

for(float i=0; i<10; i=i+0.2f){
     System.out.println((int) i);
}

你可以改编其余的

答案 3 :(得分:0)

在我的情况下,所有上述操作均在第一次迭代中起作用,因为在我的情况下0%5 == 0是正确的,我建议编写如下代码:

if(i%5 == 0 && i != 0) {//6 threads per one operation
   lq1.join();
   lq2.join();
}