辣手的问题!code生成算法 按你的需求,可以先根据父类部门编号长度来得到子部编号长度,然后用这个长度做限制从子部门编码的数组中过滤出长度等于这个的,过滤出来的就是跟要生成的子部门的编码同一级别的,然后在过滤出来的这些编码中选取最大值加1,OK了~~这个实现的是Encode增长+1.三位一组 生成一个部门下的子部门的EnCode,要求根据已有子部门的Encode增长+1,或填空中间空值. 你这里的或是有空就填,还是两种方法处理都行呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 搞了 半天才弄出下面的代码,有点长 public String getCode(){ String str = "001001"; String s[] = { "001", "001001","001002","001003","001004", "001005","001001001","001001003" ,"001001004" }; List it =new ArrayList(); //子部门集合 for (int i = 0; i < s.length; i++) { String st=""; if (str.length() == 3) { st = s[i].substring(0, 3); } else if (str.length() == 6 && s[i].length() > str.length()) { st = s[i].substring(0, 6); } else if (str.length() == 9 && s[i].length() > str.length()) { st = s[i].substring(0, 9); } else if (str.length() == 12 && s[i].length() > str.length()) { st = s[i].substring(0, 12); } else if (str.length() == 15 && s[i].length() > str.length()) { st = s[i].substring(0, 15); } if (str.equals(st) && s[i].length()==str.length()+3 ) {//筛选子类 Integer zstr=Integer.valueOf(s[i].substring(str.length(), str.length()+3));//转换为Integer类型 it.add(zstr);//添加子类 } } int num=0; String stri=""; String code=""; for (int k = 0; k < it.size(); k++) { int inte =((Integer)it.get(k)).intValue(); int inte2 =0; if(k <it.size()-1){ inte2 =((Integer)it.get(k+1)).intValue(); } if(inte2-inte>1){//插空隙 num=inte+1; stri=String.valueOf(num); if(stri.length()==3){ code=str+stri; return code; }else if(stri.length()==2){ code=str+"0"+stri; return code; }else if(stri.length()==1){ code=str+"00"+stri; return code; } }else{ num=((Integer)it.get(it.size()-1)).intValue()+1;//code+1 stri=String.valueOf(num); if(stri.length()==3){ code=str+stri; return code; }else if(stri.length()==2){ code=str+"0"+stri; return code; }else if(stri.length()==1){ code=str+"00"+stri; return code; } } } return code; } 求解 简单的关于jquery tree的问题 企业网站放到各个浏览器的兼容问题 高分请高手进来帮忙啊:JSP程序在win2000中调试无错,在linux(RHEL)中出错 如何向oracle中插入clob记录? 狂晕,简单页面出错? 大家推荐个现在开发中,常用的树形控件? 我已经定义的一个变量,编译时竟然告诉我未初始化。求!!! 怎麼得到一個字符的unicode. webservice端生成一个pdf,返回给客户端文件地址,请问这个地址要怎么写客户端才能下载到文件? 各位看一下拉!急啊! JS运行没反应
public String getCode(){
String str = "001001"; String s[] = { "001", "001001","001002","001003","001004", "001005","001001001","001001003" ,"001001004" };
List it =new ArrayList(); //子部门集合
for (int i = 0; i < s.length; i++) { String st="";
if (str.length() == 3) { st = s[i].substring(0, 3);
}
else if (str.length() == 6 && s[i].length() > str.length()) {
st = s[i].substring(0, 6);
}
else if (str.length() == 9 && s[i].length() > str.length()) {
st = s[i].substring(0, 9);
}
else if (str.length() == 12 && s[i].length() > str.length()) {
st = s[i].substring(0, 12);
}
else if (str.length() == 15 && s[i].length() > str.length()) {
st = s[i].substring(0, 15);
}
if (str.equals(st) && s[i].length()==str.length()+3 ) {//筛选子类
Integer zstr=Integer.valueOf(s[i].substring(str.length(), str.length()+3));//转换为Integer类型
it.add(zstr);//添加子类
}
}
int num=0;
String stri="";
String code="";
for (int k = 0; k < it.size(); k++) { int inte =((Integer)it.get(k)).intValue();
int inte2 =0;
if(k <it.size()-1){
inte2 =((Integer)it.get(k+1)).intValue();
} if(inte2-inte>1){//插空隙
num=inte+1;
stri=String.valueOf(num); if(stri.length()==3){
code=str+stri;
return code;
}else if(stri.length()==2){
code=str+"0"+stri;
return code; }else if(stri.length()==1){
code=str+"00"+stri;
return code;
}
}else{
num=((Integer)it.get(it.size()-1)).intValue()+1;//code+1
stri=String.valueOf(num);
if(stri.length()==3){
code=str+stri;
return code;
}else if(stri.length()==2){
code=str+"0"+stri;
return code; }else if(stri.length()==1){
code=str+"00"+stri;
return code;
}
} }
return code;
}