2012-02-26 3 views
0
public void dataAnalytics() 
{ 
    double sum=0; 
    double i=0; 
    double minage=20; 
    double maxage=20; 

    System.out.println("dataAnalytics for the Rural region"); 

    for (Record ee :RList) 
    { 
     sum=sum+Double.valueOf(ee.getIncome()); 
     i++; 
    } 

    ageComparator sc = new ageComparator(); 
    Collections.sort(RList, sc); 

    maxage = (RList[0]).getAge(); 
    minage = (RList[ records.length - 1]).getAge(); 


    System.out.println("Average income for the Rural region is : $"+sum/i); 
    System.out.println("Min age for the Rural region is : "+minage); 
    System.out.println("Max age for the Rural region is : "+maxage); 

} 

Я пытаюсь получить доступ к переменной в первом объекте массива и последний объект ArrayList, который даст мне мин возраст и максимальный возраст от ArrayList. Эта линия дает мне EROR ::Ошибка доступа к элементу в arrarylist

maxage = (RList[0]).getAge(); 
minage = (RList[ records.length - 1]).getAge(); 

любые идеи/

+1

Что такое ошибка? –

+0

Требуется массив, но java.util.ArrayList found –

+0

- код для передачи значений min и max age? –

ответ

2

Список массив не индексируется с помощью квадратных скобок, но с использованием методов получения, попробуйте: подробности

RList.get(0).getAge(); 
Rlist.get(RList.size()-1).getAge(); 

Смотрите здесь. http://docs.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html

Чтобы использовать синтаксис массива можно использовать

Rlist.toArray()[0]; 
+0

ПРАВИЛЬНО! дайте мне 9 минут, чтобы принять ответ. –

+0

еще один вопрос, тогда в этом случае мы используем квадратные скобки? –

+1

Чтобы объявить и массировать, вы должны использовать синтаксис, например Record [] records = new Record [10](); –

2

Вы с помощью двух различных переменных здесь. Если вы хотите, чтобы последний элемент находился в RList, вы должны использовать его длину. Кроме того, используйте get не синтаксис массива.

minage = RList.get(RList.size() - 1).getAge(); 

Edit: также, size() не length.

Смежные вопросы