2013-11-26 139 views
-2

我是新來的java,我需要做一個數組列表,存儲隨機座標..所有人的幫助?這是正確的,我在做什麼?我想很多存儲的座標,這樣我以後可以使用它們..但不是100%如何將它們添加到列表中..Arraylist隨機座標

ArrayList<Point> coordinates = new ArrayList<Point>(); 
     for(int i = 0; i < 5; i++) 
     { 
      Random x = new Random(); 
      Random y = new Random(); 
      coordinates.add(x,y) 
     } 
+0

什麼是'Point'? 'java.awt.point'還是你自己的類? – kviiri

回答

0

Random是產生隨機數的類。這並不意味着每個Random實例都是一個隨機數。使用Random的標準方法是:

Random rand = new Random(); 
<XXX> val = rand.nextXXX(); // XXX can be one of int, long, double, float, boolean, byte 
<YYY> anotherVal = rand.nextYYY(); 
//do something with val and anotherVal 

首先,你應該定義什麼是你想要包含在隨機值的取值範圍

您應該檢查Javadoc of Random class,以獲得更好的。視圖。

1

這不是你如何使用RandomArrayList。閱讀文檔herehere,而不是盲目編碼!你不會憑猜測來找到任何地方。

如果您使用java.awt.Point(或其他類需要兩個整數作爲座標),這應該爲你工作:

ArrayList<Point> coordinates = new ArrayList<Point>(); 
Random rand = new Random(); 
for(int i = 0; i < 5; i++) {  
    int x = rand.nextInt(); 
    int y = rand.nextInt(); 
    coordinates.add(new Point(x,y)); 
} 

或者更簡潔,你可以做這樣的循環中:

coordinates.add(new Point(rand.nextInt(), rand.nextInt())); 

注意然而,Random.nextInt()導致從整數的整個值的範圍,這是相當大的隨機整數。如果需要限制範圍,請適當更改nextInt()調用(請參閱JavaDoc)。