我知道这是非常基本的,但是在对数组中的对象进行测试时,我无法理解使用<
。
我想针对ruleGrades
(minimum
)测试存储在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 []是正确的吗?
对此抱歉,我正在努力阅读,但我真的很困惑。 感谢目前为止的所有帮助。
答案 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
{