怎样在jsp中自动生成一个号码 形如YYMMXXXXYY:年份后两位(如06)MM:月份(如11)XXXX:系统自动生成的号码,从0001开始计数,每个月都从头计数。小弟现在很急,请大家帮助。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DateFormat df= new DateFormat("YYMM");String yymm = df.format(new date());double rad = Math.random() * 1000;Format df2 = new Format("0000"); <-这步不对,功能是format数值.String xxxx =df2.format(rad);result = yymm + xxxx; 我帮你写一个吧,不带缓冲功能。如果你允许跳号,那么可以做带缓冲的import java.io.*;import java.util.*;import java.text.*;public class NumberManager { private NumberManager(){ } private static SimpleDateFormat sdf=new SimpleDateFormat("yyMM"); private static DecimalFormat df = new DecimalFormat("0000"); private static String fileName="c:\\recorddate.dat"; private static String currentMonth; private static int currentNumber; private static BufferedReader reader=null; static { try{ reader=new BufferedReader(new FileReader(fileName)); String temp=reader.readLine(); reader.close(); if (temp.length()!=8){ currentNumber=0; currentMonth="0001"; }else{ currentNumber=Integer.parseInt(temp.substring(4,8)); currentMonth=temp.substring(0,4); } }catch(Exception ex){ ex.printStackTrace(); currentNumber=0; currentMonth="0001"; } System.out.println("currentNumber="+currentNumber); } public static void writeToFile(){ try{ PrintWriter writer=new PrintWriter(new FileWriter(fileName)); writer.print(currentMonth); writer.println(df.format(currentNumber)); writer.close(); }catch(Exception ex){ ex.printStackTrace(); } } public synchronized static String getNumber(Date date){ if (date==null){ return null; } String ym=sdf.format(date); if (!ym.equals(currentMonth)){ currentMonth=ym; currentNumber=1; }else{ currentNumber++; } writeToFile(); return ym+df.format(currentNumber); } } 把request传给一个frameset,怎么根据request的属性初始化frameset的页面 请教,怎样用jsp把全选的信息删除? hibernate怎么调用MYSQL的max函数 一个关于与银行接口的问题 关于iBATIS的延迟加载机制,只能用于集合? 同时提交url jsp分页显示的一个问题,火急 求最简单的MVC的例子! jsp连接mysql,删除数据出错. 网站上一键下载多个Excel文件 请问哪位兄弟能解答:jsp怎样通过保存路径到mysql数据库并取出在页面中显示 關於權限管理
String yymm = df.format(new date());double rad = Math.random() * 1000;
Format df2 = new Format("0000"); <-这步不对,功能是format数值.
String xxxx =df2.format(rad);
result = yymm + xxxx;
import java.util.*;
import java.text.*;public class NumberManager {
private NumberManager(){
}
private static SimpleDateFormat sdf=new SimpleDateFormat("yyMM");
private static DecimalFormat df = new DecimalFormat("0000");
private static String fileName="c:\\recorddate.dat";
private static String currentMonth;
private static int currentNumber;
private static BufferedReader reader=null;
static {
try{
reader=new BufferedReader(new FileReader(fileName));
String temp=reader.readLine();
reader.close();
if (temp.length()!=8){
currentNumber=0;
currentMonth="0001";
}else{
currentNumber=Integer.parseInt(temp.substring(4,8));
currentMonth=temp.substring(0,4);
}
}catch(Exception ex){
ex.printStackTrace();
currentNumber=0;
currentMonth="0001";
}
System.out.println("currentNumber="+currentNumber);
}
public static void writeToFile(){
try{
PrintWriter writer=new PrintWriter(new FileWriter(fileName));
writer.print(currentMonth);
writer.println(df.format(currentNumber));
writer.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
public synchronized static String getNumber(Date date){
if (date==null){
return null;
}
String ym=sdf.format(date);
if (!ym.equals(currentMonth)){
currentMonth=ym;
currentNumber=1;
}else{
currentNumber++;
}
writeToFile();
return ym+df.format(currentNumber);
}
}