2016-10-05 3 views
0

Как я могу ссылаться на положение x первого шара и использовать его на втором шаре?Изменение определенного элемента в списке массивов

private List<Ball> createBalls() { 
    List<Ball> balls = new ArrayList<>(); 

    balls.add(new Ball(Color.BLUE, 600, 400, 20, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.RED, ball(1).get position 1, 500, 13, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.GREEN, 320, 340, 20, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.YELLOW, 50, 400, 50, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.orange, 600, 300, 15, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.CYAN, 320, 340, 10, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.GRAY, 50, 400, 60, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.magenta, 320, 340, 25, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.white, 50, 400, 40, rInt(-15,15), rInt(-15,15))); 
    balls.add(new Ball(Color.YELLOW, 800, 200, 500, rInt(-15,15), rInt(-15,15))); 

    return balls; 
} 

В моем шарового классе у меня есть

public double getPositionX() { 
     return positionX; 
    } 

    public void setPositionX(double positionX) { 
     this.positionX = positionX; 
    } 
+1

«Значение позиции значения позиции X для следующего значения позиции элемента?» Какие? – Kayaman

+1

Я думаю, что вы ищете способ увеличить положение 'x', добавив в предыдущие шары' x' позицию. Для этого вам нужно сохранить предыдущий шар в переменную 'Ball prev = new Ball (Color.BLUE, 600, 400, 20, rInt (-15,15), rInt (-15,15)), а затем во втором сделать что-то например 'prev.getPositionX()' при условии, что у вас есть 'getPositionX()' в классе Ball, который возвращает свою 'X позицию'. – Samundra

+3

Ваш вопрос непонятен, реорганизовать его. – Ravikumar

ответ

1

Не уверен, что я понимаю, но, чтобы получить значение X (предполагается, что существует Ball.getX() тогда:. balls.get(1).getX();

«для следующего значения позиции элемента?»

Вы не можете получить «следующий элемент» перед тем, как создать его. Поэтому после того, как вы создали петлю шаров, хотя список и примените " получить следующую X-значение "логики.

Если вы показываете больше кода и объясняете, что вы пытаетесь сделать немного более четко, это поможет.

+0

Итак, я изменил его, и я думаю, что он работает сейчас, но он не позволит мне запускать, и у меня нет ошибок в коде –

+0

на java.awt.EventQueue.dispatchEvent (Неизвестный источник) \t на java.awt.EventDispatchThread.pumpOneEventForFilters (Неизвестный источник) \t на java.awt.EventDispatchThread.pumpEventsForFilter (Unknown Source) \t в java.awt.EventDispatchThread.pumpEventsForHierarchy (Unknown Source) \t в java.awt.EventDispatchThread.pumpEvents (Unknown Source) \t на Java. awt.EventDispatchThread.pumpEvents (Неизвестный источник) \t at java.awt.EventDispatchThread.run (Неизвестный источник) –

+0

Эта трассировка стека не помогает, обычно он имеет номера строк или, по крайней мере, показывает один из ваших классов в трассировке. Что такое Исключение? – Allan

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