这种错误通常是你的某个变量在不该为null的时候为null,
解决办法是在可能出现null的地方做异常处理。
比如:
  if(s!=null){
    i = Integer.parseInt(s); //只有s不为null时才能执行这句话。
  }
或者:
  try{
    i = Integer.parseInt(s);
  }catch(java.lang.NullPointerException e){
    i = 0;  //若s为null则i默认为0
  }

解决方案 »

  1.   

    应该尽量调用那些已经确定被实例话的对象的方法
    比如
    private String name = "";  // 给它初始化一个值不让它为nullpublic boolean isNameEqual(String paraName) {
        return name.equals(paraName);
      }
    就比下面这种要好
      public boolean isNameEqual(String paraName) {
        return newName.equals(name);  // 这样如果paraName为空的话就会抛出一个 NullPointerException }当然,如果在程序中name可能被赋值为null的话
    那就要这样写了
    public boolean isNameEqual(String paraName) {
        if (name != null) {
          return name.equals(paraName);
        }
        else if (paraName != null) {  // name 为 null 而paraName 不是
          return false;
        }
        else {  // 都为空
    return true;  // 根据你的需要,返回false也行
        }
      }至于
    public class Animator extends java.applet.Applet implements Runnable{
    Vector images;
    int imgNumber;
    int currentImage=1;
    Thread thisThread;
    public void init(){
    imgNumber=new Integer(getParameter("imgNumber")).intValue();
    for (int x=0;x<imgNumber;x++)
    {Image img=getImage(getDocumentBase(),"img"+(x+1)+".jpg");
    images.addElement(img);
    }
    }我觉得可以先给imgNumber=0;
    然后还要判断
    getParameter("imgNumber")是否为null
    这样更好些
      

  2.   

    大家伙的要求下,本人把他贴出来,,java文件:
    import java.awt.*;
    import java.applet.*;
    import vrml.external.Browser;
    import vrml.external.Node;
    import vrml.external.field.*;
    import vrml.external.field.EventOutObserver;public class ScaleOberver extends Applet {
     Browser browser;
     Node sensor;
     TextField theTextOfScale;
     Label theScale;
     public void start(){
     browser=Browser.getBrowser(this);
     sensor=browser.getNode("BALL");
     DefObserver observer=new DefObserver();
     observer.init(browser);
     sensor.getEventOut("set_scale").advise((EventOutObserver)observer,(Object)theTextOfScale);
     }public void init(){
     super.init() ;
     setLayout(null);
     resize(100,100);
     theTextOfScale=new TextField("",15);
     theScale=new Label("The Scale Of Ball is:");
     add(theScale);
     theScale.reshape(85,20,150,20);
     theTextOfScale.reshape(235,20,100,20) ;
     }
     }.html文件如下:
    <HTML>
    <HEAD>
    <TITLE>
    HTML Test Page
    </TITLE>
    </HEAD>
    <BODY>
    spere will appear below in a Java enabled browser.<BR>
    <tr>
        <td width="100%">
             <center>
             <embed src="sspere.wrl" border=0 height="450" width="100%">
          </center>
        </td>
      </tr>
    <APPLET
      CODEBASE = "."
      CODE     = "advise.ScaleOberver.class"
      NAME     = "TestApplet"
      WIDTH    = 400
      HEIGHT   = 30
      HSPACE   = 0
      VSPACE   = 0
      ALIGN    = top
    >
    </APPLET>
    </BODY>
    </HTML>
      

  3.   

    多半是声明好的Object reference在用之前没有new过
      

  4.   

    vrlm 这个包哪儿有?
    是不是需要先下载?
      

  5.   

    还有我的每一个文件都是NullPointerException这样的错误,请看:
    import java.awt.*;
    import java.applet.*;import java.lang.*;
    import vrml.external.*;
    import vrml.external.field.*;
    import vrml.external.exception.*;public class AddRemoveTest extends Applet {
     Browser browser=null;
     Node theBase=null;
     Node[] cone;
     EventInMFNode addChildren;
     public  void init(){
      try{
      throw new NullPointerException("");
      }
      catch(NullPointerException e){
      }
     add(new Button("Add Cone"));
     }
     public void start(){
     browser=Browser.getBrowser(this);
     theBase=browser.getNode("Base");
     addChildren=(EventInMFNode)theBase.getEventIn("addChildren");
     //try{ cone=browser.createVrmlFromString("Shape{\n"+"appearance Appearance{\n"+
     "material Material{\n"+"diffuseColor 0.2 0.2 0.8\n"+"}\n"+
     "}\n"+
     "geometry cone{}\n"+
     "}\n");
     }
     public boolean action(Event event, Object what){
     if(event.target instanceof Button){
     Button b=(Button)event.target ;
      if(b.getLabel() =="Add Cone"){
      addChildren.setValue(cone);
      }
      }
      return true;
      }
      }哪儿不对?