package com.swtdesigner;
import java.lang.Double;public class TestFor {
public static boolean bit []={true,false,false,true};
public static int [] measure2= null ;
public static  double [] measure= null ;
public static double [] Setmeasure2()
{
for(int i=0;i<10;i++)
{
measure[i] = bit.length*Math.random();
}
return measure;
}
 public static void main(String [] args){
 
  System.out.println(TestFor.Setmeasure2());
    
 }
 
   }运行的时候它提示说Exception in thread "main" java.lang.NullPointerException
at com.swtdesigner.TestFor.Setmeasure2(TestFor.java:16)
at com.swtdesigner.TestFor.main(TestFor.java:22)

解决方案 »

  1.   

    空指针错误。
    measure本身是空,并没有measure[0]、measure[1]之类的项。如果要用,不要把数组之类的设为空,不然很容易产生类似的错误
      

  2.   

    public static  double [] measure= null ;measure[i] = bit.length*Math.random();
    上面这句就有问题,因为measure是null,你把右边的值赋给左边measure[i],measure[i]当然是空的拉
      

  3.   

    对空对象操作的问题public static int [] measure2= null ;
    public static  double [] measure= null 
    你的程序在使用measure数组的时候并没有初始划它,在for循环中(当然可以是其他地方,但必须是在使用前)初始化就可以了;
    public class TestFor {
    public static boolean bit []={true,false,false,true};
    public static int [] measure2= null ;
    public static  double [] measure= null ;
    public static double [] Setmeasure2()
    {
    for(int i=0;i<10;i++)
    {
    measure = new double[10];
    measure[i] = bit.length*Math.random();
    }
    return measure;
    }
     public static void main(String [] args){
     
     System.out.println(TestFor.Setmeasure2());
        
     }
     
       }