标度适应性测试的空指针异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标度适应性测试的空指针异常相关的知识,希望对你有一定的参考价值。

[创建一个scaleFitnessTest算法来测试binarry值的适合度并使用权重(质数),然后将它们在标尺的'左侧'和'右侧'之间移动

实际规模适应性的逻辑有效,但是在测试null参数时,我得到了nullpointer异常

我试图满足的要求是:

该方法在以下情况下应返回-100:

1]如果“ rep”或“ weights”的大小为零,或者二者之一为零空。

2)如果“ rep”的大小大于权数的数量。

我的代码如下

public static double ScalesFitness(ArrayList<Boolean> rep, ArrayList<Double> weights)   
        if( (rep.size() == 0 || weights.size() == 0) || (rep == null || weights == null) ) 
            return (-100);
        
        if (rep.size() > weights.size()) 
            return(-100);
        
        double lhs = 0.0,rhs = 0.0;
        int n = rep.size();
        for(int i=0;i<n;i++)
            if (rep.get(i) == true) 
                lhs = lhs + weights.get(i);

            else 
                rhs = rhs + weights.get(i);

            
        


        return(Math.abs(lhs-rhs));
    
答案
如@jsheeran和@ D.Lawrence所述,在对它们调用size()之前先检查是否为空

以上是关于标度适应性测试的空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

片段中的空指针异常

方法 oncreateview 中片段中 listview.setadapter() 的空指针异常

setText时的空指针异常 - TextView [复制]

操作栏上不确定的进度条上的空指针异常

Mockito:: MockMVC 的空指针异常

SpringBug记录 -- java.lang.NullPointerException在Spring单元测试中遇到的空指针异常及依赖注入异常总结