Java字段生成问题 1 建一个简单的表(或文件) 编号ID, int 编号当前值, int2 java中用一个同步方法一次取一个,并且将表中"编号当前值"加13 将取到的指转换成String,用就行了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 for(int i=1;i++;i<1000000){String orgStr = Integer.toString(i);String resultStr = new StringBuffer("000000").replace(6-orgStr.length(),5,orgStr).toString();//resultStr即为所需的编号} 生成的ID使用DecimalFormat df = new DecimalFormat("000000")进行转换! public class Test { public static void main(String[] args) { String strId = "001002";//当前的字段,呆会生成下一字段 int i = Integer.parseInt(strId);0A i = i+1; strId = Integer.toString(i); int j = strId.length();//长度问题 System.out.println(j); if(j<6) {//补零 String str = "000000"; str = str.substring(j); strId = str+strId; } System.out.println(strId);//strId即为所求 }}==============================在下所说,也许并非正确,请从建议的角度批判地吸收! faint怎么多了个OA?调试信息也没有去掉……==============================在下所说,也许并非正确,请从建议的角度批判地吸收! 如果你用的是jbuilder,那么你可以用数据感知控件,里面可以设置掩码display,非常简单,你可以参考书籍(只需设置即可)如果你不用,想在程序里写的话,可以如下:首先定义好所需的变量,我这里省略:(这是我所写模块中的一部分,实现自增长(非数据库中所值的自增长,而由程序控制)) rst = stmt.executeQuery("select max(No) from table" ); rst.first(); if(rst.getInt(1)>0) { initSn = String.valueOf(rst.getInt(1)+1).trim() ; length = initSn.length(); for(int i=0 ; i<6-length ; i++) { initSn = "0"+initSn ; } }else { initSn = "000001" ; } 大家说的都很对,但我有一个更好的办法,就是直接通过一句SQL操作!呵呵!create table test1( id varchar2(6) primary key }insert into test1 values('000001');//this is the master data以下就是我的SQL!insert into test1 select substr(to_char(max(id)+'1','000000'),2) from test1; JFrame几个小问题 Java与数学的问题 JTextArea 怎么去掉边框 swing 面板透明问题 有谁知道怎么样在行为事件中得到包含触发事件的元件的类的实例 ? 奇怪的错误提示 捕捉和产生类属异常的处理方法(一) 用java怎么生成bmp jpg gif tif 的预览图? 有人在找工作吗? 帮我想想 winxp下如何设置环境变量 transient 关键字有什么用途
String orgStr = Integer.toString(i);
String resultStr = new StringBuffer("000000").replace(6-orgStr.length(),5,orgStr).toString();//resultStr即为所需的编号
}
public static void main(String[] args) {
String strId = "001002";//当前的字段,呆会生成下一字段
int i = Integer.parseInt(strId);
0A i = i+1;
strId = Integer.toString(i);
int j = strId.length();//长度问题
System.out.println(j);
if(j<6) {//补零
String str = "000000";
str = str.substring(j);
strId = str+strId;
}
System.out.println(strId);//strId即为所求
}
}==============================
在下所说,也许并非正确,请从建议的角度批判地吸收!
怎么多了个OA?
调试信息也没有去掉……==============================
在下所说,也许并非正确,请从建议的角度批判地吸收!
如果你不用,想在程序里写的话,可以如下:
首先定义好所需的变量,我这里省略:(这是我所写模块中的一部分,实现自增长(非数据库中所值的自增长,而由程序控制))
rst = stmt.executeQuery("select max(No) from table" );
rst.first();
if(rst.getInt(1)>0) {
initSn = String.valueOf(rst.getInt(1)+1).trim() ;
length = initSn.length();
for(int i=0 ; i<6-length ; i++) {
initSn = "0"+initSn ;
}
}else {
initSn = "000001" ;
}
create table test1
(
id varchar2(6) primary key
}
insert into test1 values('000001');//this is the master data
以下就是我的SQL!
insert into test1
select substr(to_char(max(id)+'1','000000'),2) from test1;