Question subject: Average of an array. Please help
Posted: Sun Mar 27, 2011 8:53 pm
Joined: Sun Mar 27, 2011 8:47 pm Posts: 1 Has thanked: 1 time Have thanks: 0 time
In the method below trying to calculate average age in each category('o','u','n'). Ages are stored in a separate class.
Code:
public double averageAge() // calculating average age in each BMI group { double numbers[]=new double[this.list.length]; double result=0; char[] cat={'O','U','N'}; for (int i=0;i<this.list.length;i++){ int b=this.list[i].age; for(int j=0;j<3;j++){//loop runs three times, as there are three categories if(b==cat[0]){ result=result+b; numbers[j]++;} } } for (int j=0;j<3;j++) System.out.println("Average age in group "+cat[j]+ " is "+result/this.list.length); return result; }
Result returns 0.. Any ideas how this can be fixed?
msi_333
Question subject: Re: Average of an array. Please help
Posted: Sun Mar 27, 2011 9:07 pm
Joined: Tue Mar 27, 2007 10:55 pm Posts: 2279 Location: Earth Has thanked: 39 time Have thanks: 61 time
hey brother ,
in line
Code:
if(b==cat[0]){ result=result+b; numbers[j]++;} }
this is wrong !. car is array of char , in condition b is (Integer) , so you are comparing the ASCII code of 'o' and the value of integer b . it seems you don't enter this condition , i think you should has three counter. one for each group and also a sum for each group . and add conditions in for loop for handling the three cases .
and after all , you calculate the average = sum/counter.
_________________ Currenlty programming with : java , html , php , and javascript . (OCJP-6 certified )
For this message the author msi_333 has received gratitude : deto4ka