我想每循环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);
}
答案 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();
}