线程" main"中的例外情况显示java.lang.NullPointerException

时间:2014-05-08 17:52:07

标签: java

我创建了一个函数,我在其中通过数组沿其索引发送数据,以便特定值转换为二进制,但我不知道我是否正确发送和返回数组。

我的代码:

 package GA;

public class test {

    public void chr_intval(){

        double [] array = new double[100] ;
            int i=1;
            array[i] = 4;
            System.out.println(Genes(array,i)); // print the value contain array[1] in binary

        }




    @SuppressWarnings("null")
    public double[] Genes(double[] j,int i){ // get the value from 1st index that is 4 hardcoded
        double [] a1=null;
        int k=9;
        //a1[k]=0;
        double d=j[i];
        while(d>1)
        {
            a1[k--]=d%2;
            d=d/2;

        }



        return a1;// return the value in binary that is 100

    }
    public static void main(String[] args) {
        test a = new test();
        a.chr_intval();
    }

}

在控制台:

Exception in thread "main" java.lang.NullPointerException
    at java.io.Writer.write(Unknown Source)
    at java.io.PrintStream.write(Unknown Source)
    at java.io.PrintStream.print(Unknown Source)
    at java.io.PrintStream.println(Unknown Source)
    at GA.test.chr_intval(test.java:10)
    at GA.test.main(test.java:41)

3 个答案:

答案 0 :(得分:3)

这是一个问题:

  

@SuppressWarnings("空&#34)

另外,你的

  

private char [] Genes(double [] array,int i){           // TODO自动生成的方法存根           return null;       }

返回空值。

答案 1 :(得分:0)

从不执行Genes1(),您将从Gene()方法返回null。

答案 2 :(得分:0)

这种情况正在发生,因为您的Genes方法返回null。 println()函数不知道如何处理null值,因此抛出NullPointerException。

只需编辑您的函数即可返回null以外的其他内容。