写错了,是int Sno=Integer.valueOf(id).intValue()

解决方案 »

  1.   

    id=getField("学号");
    System.out.println("id"+id);
    Sno=Integer.parseInt(id);
    System.out.println("Sno"+Sno);
    比如我在学号文本框中输入1,结果
    直接抛出异常,没有输出id
      

  2.   

    检查你id取到的值,我怀疑是null或者空串。
    应当校验id的合法性。不是随便什么字符串都能转换成int的
      

  3.   

    id=getField("学号");
    System.out.println("id"+id);
    你单步跟踪一下,看id的值到底是不是"1".
      

  4.   

    使用Integer.parseInt时候
    参数必须是有效的数字,否则出异常
    你可以自己家一下判断
      

  5.   

    id=getField("学号");
    System.out.println("id"+id);
    看一下你的id到底输出的是什么?
      

  6.   

    id=getField("学号");这句好像有点问题啊
      

  7.   

    楼上回帖的几位别逗了,你们好好看看他的代码!(怀疑你们是不是java程序员)
    java.lang.NumberFormatException明显就是数据格式异常,楼主的Sno=Integer.parseInt(id);
    明显是低级的语法错误,将字符串转换成整数后然后付值给string类型!不出错才怪呢!
      

  8.   

    对不起是我看错了!由于显示器分辩率太高,我眼花了!-_-!
    楼主已经声明了int类型!不过问题肯定出在Sno=Integer.parseInt(id);这句!
    把你的id值打印出来就一目了然了!
      

  9.   

    错误里写了:""转换成int失败  空的时候给默认值或设为必填
      

  10.   

    明显是(field.getText()).trim()的值是"";
    也就是说,你的field里并没有值,你这里fields又不知道是什么。
    hashmap??总之你输入的东西根本就没在field里复值。就这么回事
      

  11.   

    For input string:""
    就表明输入的字符串是不符合转换规则的。
    不知道楼主是怎么追踪的。
    String id;int Sno;
    id=getField("学号");
    System.out.println("id:"+id+".")
    Sno=Integer.parseInt(id);//
    把输出ID那段东西给我看看。
      

  12.   

    取到的id为""最好在getField中加入判断语句if( field.getText().equals("") || field.getText() == null )
       return "0";
      

  13.   

    id=getField("学号");
    我在文本框中输入1,继续执行时就抛出异常
      

  14.   

    id=getField("学号");
    得到的东西是什么,你debug一下。
      

  15.   

    fields 是什么??完整代码贴上来看看
      

  16.   

    建议楼主保持好的代码风格
       public void setField( String fieldName, String value )
       {
          JTextField field =
             ( JTextField ) fields.get( fieldName );      if(field == null ) {
              field.setText("null");
          }
          else {
              field.setText( value );
          }
       }   public String getField( String fieldName )
       {
          String rtn=null;      JTextField field =
             ( JTextField ) fields.get( fieldName );
        
          if(field == null ) {
              rtn = "null";
          }
          else {
              rtn=(field.getText()).trim();
          }      return rtn;
       }
      

  17.   

    dabo1980(Java小菜鸟)-------------没看清楚就不要瞎说什么“(怀疑你们是不是java程序员)”这种话
      

  18.   

    int Sno=Integer.valueOf(id.trim())