java начинающий здесь!Конструктор возвращает неожиданный нуль
Я хочу объект Model, который представляет собой список случайных координат, и согласно (*) ArrayList не пуст, когда основная модель работает (200). Но когда я запускаю магистраль я получить из ошибки границ, когда я проверяю с распечаткой вокруг (**) Я получаю сообщение об ошибке:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Является ли проблема с конструктором моделью?
public class Model extends ArrayList<Particle>{
private ArrayList<Particle> particleList;
public Model(int N) {
ArrayList<Particle> list1 = new ArrayList<Particle>();
Particle newParticle = new Particle();
for(int i=0;i<N;++i){
list1.add(newParticle);
newParticle = new Particle();
//String s= String.valueOf(newParticle.x);
//System.out.println(s);
}
this.particleList = list1;
Particle p1 = particleList.get(5);
double d = p1.x;
String s = String.valueOf(d);
System.out.println(s); (*)
}
public static void main(String[] args){
Model x1 = new Model(200);
Particle p1 = x1.get(0); (**)
double d = p1.x;
String s = String.valueOf(d);
System.out.println(s);
}
Я считаю, что вы не звоните '' переменную paricleList'' с '' x1.get (0) '' но элемент из суперкласса (вы расширенный ArrayList). Если вы хотите получить элементы из '' particleList'', вы должны определить getter, а затем сделать что-то вроде: '' x1.getParticleList(). Get (0) ''. – Plebejusz
Вы действительно хотите расширить ArrayList? –
Можете ли вы расширить @BalajiKrishnan? Я сделал это, потому что я хотел использовать .get (i), но, возможно, я должен использовать наконечник Plebejusz. Почему я не хочу расширять ArrayList? –