String first = "a1002";
//这个a1002的含义可能很多,a1002可能是一个16近制的数字,也可能a只是一个字符编号,而1002才是数字编号。1.a1002表示一个16近制
String first = "a1002";
int x = Integer.decode("0x"+first).intValue(); 
System.out.println(Integer.toHexString(x+1));
//打印结果"a1003"2.a表示一个字符编号
String first = "a1002";
String next = first.charAt(0)+""; //获取首位的字符
String next_tmp = first.substring(1); //获取首位字符后面的数字字串
int x = Integer.parseInt(next_tmp)+1;
System.out.println(next+x);//打印结果a1003

解决方案 »

  1.   

    多谢各位,搞定了。看起来很简单,但是面试的时候究没想起来,晕!to hykwolf(Yankang Hu):这里a是一个字符编号,本来是随便写了一个,但却引起了歧义,哈哈。
      

  2.   

    public class stringwt{
    public static void main(String args[]){
    char c[]=new char[10];
    int strlength=0;
    char sstr;
    int intstr=0;
    String str=new String("al002");
    c=str.toCharArray();
    strlength=str.length();
    sstr=c[strlength-1];
    intstr=Integer.parseInt(sstr);
    intstr=intstr+1;
    String strdemo=new Integer(intstr).toString();
    c[strlength-1]=strdemo;
    System.out.println(str);
    }
    }