哪位高手帮忙做个Java题,要完整代码。生成18位数格式为:用户id(6为id位数不够前面补0)+时间(年月日时

哪位高手帮忙做个Java题,要完整代码。生成18位数格式为:用户id(6为id位数不够前面补0)+时间(年月日时分:1202231442)+随机数(俩位)。例如:001101 1202231442 12 。在线等啊。速度。。。

等下帮你写

public static void main(String[] args) {
long id=1001;
StringBuffer sb = new StringBuffer();
sb.append(LongToFixLengthString(id));
sb.append(" ");
SimpleDateFormat df = new SimpleDateFormat("yyMMddHHmm");
sb.append(df.format(new Date()));
sb.append(" ");
Random random = new Random();
sb.append(random.nextInt(100)+10);
System.out.println(sb.toString());
}
public static String LongToFixLengthString(long id) {
NumberFormat formatter = new DecimalFormat("000000");
return formatter.format(id);
}追问

急用啊 速度 谢了

追答

改成 sb.append(random.nextInt(90)+10);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-23
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class Test {

public static void main(String[] args) {
int id = 123;

System.out.println(getStr(id));

}

public static String getStr(int id){
StringBuilder sb = new StringBuilder();

sb.append(id);

while(sb.length() < 6){
sb.insert(0, "0");
}

sb.append(new SimpleDateFormat("yyMMddHHmm").format(new Date()));
int number = new Random().nextInt(100);

if(number < 10){
sb.append(0);
}
sb.append(number);

return sb.toString();
}

}
--------testing
000123120223151746
第2个回答  2012-02-23
String id="113";

SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmm");

String time = sdf.format(new Date());

String rand = (int)(Math.random()*100)+"";

String res = id+" "+time+" "+rand;

for(int i =0;i<=21-res.length();i++)
{
res = "0"+res;
}

System.out.println(res);