2016-10-05 3 views
0

Wie kann ich die x-Position des ersten Balls referenzieren und diese auf dem zweiten Ball verwenden?Ändern eines bestimmten Elements in einer Array-Liste

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; 
} 

In meinem Ball Klasse I haben

public double getPositionX() { 
     return positionX; 
    } 

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

"Positionswert des X-Positionswerts für den nächsten Elementpositionswert?" Was? – Kayaman

+1

Ich denke, dass Sie nach einer Möglichkeit suchen, die x-Position zu erhöhen, indem Sie die vorherige x-Position der Kugel hinzufügen. Dafür musst du den vorherigen Ball in der Variablen Ball vorh = neuer Ball (Farbe BLAU, 600, 400, 20, rInt (-15,15), rInt (-15,15)) speichern und dann etwas tun wie 'prev.getPositionX()' vorausgesetzt, Sie haben 'getPositionX() 'in der Klasse' Ball ', die ihre' X-Position 'zurückgibt. – Samundra

+3

Ihre Frage ist nicht klar zu reorganisieren. – Ravikumar

Antwort

1

nicht sicher, ob ich verstehen, aber einen Wert von X zu erhalten (vorausgesetzt, es ist ein Ball.getX() dann:. balls.get(1).getX();

"für den nächsten Elementpositionswert?"

Sie können das "nächste Element" nicht erhalten, bevor Sie es erstellen. Also, nachdem Sie die Balls-Schleife durch die Liste erstellt haben und den " Holen Sie sich den nächsten X-Wert "Logik.

Wenn Sie mehr Code zeigen und erklären, was Sie versuchen, ein wenig klarer zu machen, würde es helfen.

+0

So habe ich es und ich denke, es funktioniert jetzt, aber es wird mich nicht laufen lassen und ich habe keine Fehler im Code –

+0

bei java.awt.EventQueue.dispatchEvent (Unknown Source) \t bei java.awt.EventDispatchThread.pumpOneEventForFilters (Unknown Source) \t bei java.awt.EventDispatchThread.pumpEventsForFilter (Unknown Source) \t bei java.awt.EventDispatchThread.pumpEventsForHierarchy (Unknown Source) \t bei java.awt.EventDispatchThread.pumpEvents (Unknown Source) \t auf Java. awt.EventDispatchThread.pumpEvents (Unbekannte Quelle) \t bei java.awt.EventDispatchThread.run (unbekannte Quelle) –

+0

Dieser Stapel verfolgen Sie prov idd hilft nicht, normalerweise hätte es Zeilennummern oder zumindest eine Ihrer Klassen in der Spur. Was ist die Ausnahme? – Allan

Verwandte Themen