我是java新手,我需要创建一个存储随机坐标的数组列表。任何帮助?这是正确的我在做什么?我想存储很多坐标,以便我以后可以使用它们......但不是100%如何将它们添加到列表中..
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 :(得分:1)
这不是您使用Random
或ArrayList
的方式。阅读文档here和here,而不是盲目编码!通过猜测,你真的不会去任何地方。
如果你正在使用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)。
答案 1 :(得分: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以获得更好的视图。