//任务批次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
解决方案 »
- 更改Myeclipse web项目tomcat的发布路径
- 算法题,求所有的回路。
- struts2 hibernate spring整合抛空指针异常 急!
- jsp页面List显示,字段太长,页面拉长,想增加2个属性在显示的时候怎么做?
- 利用org.apache.tools.zip.ZipFile在UNIX下解压1M的ZIP文件为何无法解压?
- 请问如何用js或jsp等任何java方法,得知PC端是否装载了.net Framework组件
- 想和大家讨论一下设计模式,特别是数据源的资源使用问题
- JmsProducerOptions中的timeToLive字段到底该填写什么值!?
- tomcat 启动问题?
- 运行webservice出现错误,请高手判断一般是什么原因
- 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++;
}
}
}
}