2013-11-26 99 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)。