String cc=aa.substring(0,11);
是这里错了。
子串和源串相同好象不行。
改为:
public class BBB
{
public static void main(String[] args)
{
String aa=new String("20050313001a");
String cc=aa.substring(0,10);
int dd=Integer.parseInt(cc);
System.out.println(dd);
}
}

解决方案 »

  1.   

    是int的大小错误.
    int 类型最大是2147483647
    最小是-2147483648
      

  2.   

    你用的数据太大,没有这么大的数据类型!
      只有用BigInteger这个大数据类型来构造这个整数!
        这记得前面有人发过这样的帖子!
          你找一下应该可以找到!
    你找不到也可以自己找一个java.math.BigInteger这个类!
      

  3.   

    为什么这样写不可以呢??
    import java.lang.Long;
    public class BBB
    {
    public static void main(String[] args)
    {
    String aa=new String("20050313001A");
    String cc=aa.substring(0,11);
    System.out.println(cc);
    long dd=Long.getLong(cc);
    dd=dd+1;
    System.out.println(dd);
    }
    }
    他提示是:
    BBB.java:10: incompatible types
    found   : java.lang.Long
    required: long
                    long dd=Long.getLong(cc)
                                        ^
    1 error但是这样就可以:
    import java.lang.Long;
    public class BBB
    {
    public static void main(String[] args)
    {
    String aa=new String("20050313001A");
    String cc=aa.substring(0,11);
    System.out.println(cc);
    Long dd=new Long(cc);
    long gg=dd.longValue()+1;
    System.out.println(gg);
    }
    }
      

  4.   

    为什么不能直接调用Long的静态方法呢??Long.getLong(String str)???