String的一个小问题 String str="SD00001";注意那个SD后面不是英文字母O而是阿拉伯数字0。我须要根据str的值来获得下一个值,也就是说如果str等于SD00001的话,须要得到SD00002。字符串截取出00001后,如果用Integer的parseint()方法得到的是1,在加1的话变成2,转换成String后还须要判断字符串长度,然后添加上几个0,这样比较麻烦。有没有什么简单点的方法啊大牛们?先谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DecimalFormat df = new DecimalFormat("'SD'00000"); Number x = df.parse("SD00001"); System.out.println(x); System.out.println(df.format(x.intValue()+1)); run:1SD00002成功生成(总时间:1 秒)果然给力强 在数据库中建个序列,编号从00001开始,累加1,每次用的时候取出在前面加上SD,或者将其存到数组里,每次累加后加上SD 这个df.format(x.intValue()+1)是死的,也就是说你每次得到的都是SD00002,下次必须得用SD00002才能得到SD00003 如果你保证数值在范围中,就这样吧!如果有可能超出5个数值范围的,那就截取SD,然后再做处理吧!String s1 = "SD00099";char[] s = s1.toCharArray();for (int i = s.length - 1; i >=0; i--) { if (++s[i] > 57) { s[i] = 48; continue; } break;}s1 = new String(s);System.out.println(s1); 淫才真多、长见识了、本来以为自己String学的还行,结果看了楼上几位的回答才知道真是井底之蛙了 哥哥,把Number x = df.parse("SD00001");里的SD00001换成变量不就OK了啊,一楼的大哥只是举个例子,写程序一般是不会写死的吧 extjs 中下拉框可输可选,如何获取输入的值 哪位大哥有完整的SSH(struts2)项目案例 高手帮我看看这个XML的作用 高分啊,解决了送分 谁有spring in action中文版电子书啊? 小问题 [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败。 jsp文件打开excel文件??????快帮忙!! 两个JSP初级问题,快来抢呀,在线等待 Spring和Hibernate整合时出现的问题,求帮忙 jsp页面为Id属性动态加上编号 导包 jsp页面第一次无法加载图片,需要刷新才会显示图片
Number x = df.parse("SD00001");
System.out.println(x);
System.out.println(df.format(x.intValue()+1));
run:
1
SD00002
成功生成(总时间:1 秒)
果然给力强
如果有可能超出5个数值范围的,那就截取SD,然后再做处理吧!String s1 = "SD00099";
char[] s = s1.toCharArray();
for (int i = s.length - 1; i >=0; i--) {
if (++s[i] > 57) {
s[i] = 48;
continue;
}
break;
}
s1 = new String(s);
System.out.println(s1);
淫才真多、长见识了、本来以为自己String学的还行,结果看了楼上几位的回答才知道真是井底之蛙了