首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

String的一个小疑点

2012-02-29 
String的一个小问题String strSD00001注意那个SD后面不是英文字母O而是阿拉伯数字0。我须要根据str的值

String的一个小问题
String str="SD00001";

注意那个SD后面不是英文字母O而是阿拉伯数字0。

我须要根据str的值来获得下一个值,也就是说如果str等于SD00001的话,须要得到SD00002。

字符串截取出00001后,如果用Integer的parseint()方法得到的是1,在加1的话变成2,转换成String后还须要判断字符串长度,然后添加上几个0,这样比较麻烦。

有没有什么简单点的方法啊大牛们?

先谢谢了

[解决办法]

探讨
Java code
DecimalFormat df = new DecimalFormat("'SD'00000");
Number x = df.parse("SD00001");
System.out.println(x);
System.out.println(df.format(x.intValue()+1));

[解决办法]
探讨
引用:
Java code
DecimalFormat df = new DecimalFormat("'SD'00000");
Number x = df.parse("SD00001");
System.out.println(x);
System.out.println(df.format(x.intValue()+1));
我去 这个能跑么 太……

[解决办法]
在数据库中建个序列,编号从00001开始,累加1,每次用的时候取出在前面加上SD,或者将其存到数组里,每次累加后加上SD
[解决办法]
自古沙发出淫才啊,一楼威武
[解决办法]
如果你保证数值在范围中,就这样吧!
如果有可能超出5个数值范围的,那就截取SD,然后再做处理吧!
Java code
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);
[解决办法]
晕死~从左往右截取数字,+1,重组,搞定!

热点排行