错误:<对于参数类型,未定义运算符Double [],double

时间:2015-09-17 10:35:11

标签: java arrays loops multidimensional-array arraylist

我知道这是非常基本的,但是在对数组中的对象进行测试时,我无法理解使用<

我想针对ruleGradesminimum)测试存储在2D数组中的double,然后将其与probability({{1}相乘}})。

double

更新

好的,我看到我不需要多维数组,我可以使用Double []在第一个元素中有2个值。这是我更新的代码:

ArrayList<Double[][]> ruleGrades  = new ArrayList<Double[][]>();
ArrayList<Double> min= new ArrayList<Double>();
double minimum;

System.out.println("Rule Grades: "+ruleGrades.toString());
        for(int a=0;a<ruleGrades.size();a++)
        {
            minimum=2.0;
            System.out.println("A: "+a);
            for(Double[] grades : ruleGrades.get(a))
            {
                if(grades<minimum) //error over here
                {
                    Double prob=rule.getRules().get(a).getProbability();
                    minimum=grades.doubleValue()*prob.doubleValue(); //error  
                }
            }
            min.add(minimum);
        }
        max=0.0; //finding largest
        for (int b = 0; b< min.size(); b++ )
        {
            if( min.get(b) > max)
            {
                max = min.get(b);
            }
        }
    }

所以在我的第一个IF语句中,我想检查第一个double是否小于2.0,然后按概率加倍,然后将其添加到arraylist min。

但是我如何为同一元素中的第二个值执行此操作。 例如ruleGrades包含:[1.7,1.9],[1.2,1.3] .... 然后我乘1.7乘以概率(简单地说它的1)并加到min arraylist中的Double [],所以min看起来像这样[1,7]。但是我希望同样的1.9并将它放在与1.7相同的元素中,因此min数组看起来像[1.7,1.9]。 这就是我添加另一个IF语句的原因,这是正确的吗?

在将所有成绩乘以概率并添加到min arraylist后,我需要找到最大的成绩。所以我做了Double max []是正确的吗?

对此抱歉,我正在努力阅读,但我真的很困惑。 感谢目前为止的所有帮助。

1 个答案:

答案 0 :(得分:-1)

实际上你已经在inner for循环中声明了数组,并将整个数组与一个double值进行比较。

grades < minimum是问题

for(Double[] grades : ruleGrades.get(a))
{
    if(grades is an array of Double < minimum is a double )  //error over here
     {