//任务批次ID(每次任务的ID)
private static volatile int smNo =0; //序列号,循环进位,满了之后再从0开始计位
//获取任务批次ID
public static synchronized int getsnMo() {
if(smNo==3)
{
smNo=0;
}
int a=smNo;
++smNo;
return a;
}上面的代码是每次获取一个序列号!这个序列号徘徊在0-3之间!就是我每次获取到得值分别为:0,1,2,3,0,1,2,3,0,1,2,3,
现在想做一个判断就是当获取到得序列号重复的时候,我就让他在前一个值的基础上加1,即当获取到得值为3时,下次获取到得值就是4,不让他显示0了,后面的依次类推,也就是说我要的值是0,1,2,3,4,5,6,7,8,9,10,11直到最大值,请问该怎么弄呢?就是如下面的数字这样对应:请高手指导下:
0,1,2,3,0,1,2,3,0,1,2 ,3 ,0 ,1 ,2 ,3 ,0 ,1 ,2 ,3 ,...
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,...
Java
解决方案 »
- SQL改写HQL语言问题~
- 看过log4j 源码的人请进
- servlet响应的打印
- 谁知道这本书有中文版~~~急
- mvc模式下的servlet是否会传值给jsp页面
- 求Struts登陆验证设计思路`
- java 3DES加密解密 求高手指教
- (在线等待)请问利用Eclipse开发Struts,WEB服务器用TOMCAT,请问都需要那些插件,到哪里可以下载呢?
- 500分,在繁體winxp系統下,如何在tomcat控制台下正確打印出從前台取來的簡體字,而不是亂碼。500分
- JB如何与J2EE参考实现组合?
- hibernate建表注释问题。
- swing panel绘图 在父窗口改变大小时panel的成员未被初始化
要是就是从1到N这么简单,干嘛还根据0,1,2,3换啊,直接每次+1就行了
a=smNo+4*smNo的循环次数
int a = 0;
for (int y = 0; y <= 20; y++) { for (int i = 0; i <= 3; i++) {
System.out.println("i = " + i);
System.out.println("a = " + (i + 4 * a));
if (i == 3) {
a++;
}
}
}
}