首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java随机生成器

java随机生成器
EN

Stack Overflow用户
提问于 2012-05-14 20:14:33
回答 1查看 1.7K关注 0票数 0

我想生成一些随机的双精度值并将它们添加到ArrayList中,但是似乎nextDouble()函数每次都返回一个惟一的双精度值,而不是一个新的双精度值

代码语言:javascript
复制
Random r = new Random();
ArrayList<Pair> centers = new ArrayList<Pair>();  
ArrayList<ArrayList<Pair>> classes = new ArrayList<ArrayList<Pair>>();  
for (int i=0 ; i < 100; i++) {
    // Random r = new Random ();
    // System.out.println (r.nextDouble ()) ;
    double a = r.nextDouble () * 10;
    double b = r.nextDouble () * 10;
    centers.add (new Pair (a, b ));
    System.out.println (centers);
}               

有人能帮我吗?这是优化的错误吗?

EN

回答 1

Stack Overflow用户

发布于 2012-05-14 20:22:28

我运行了以下代码:

代码语言:javascript
复制
public static void main(String[] args) {
  Random r = new Random();
  ArrayList<Pair> centers = new ArrayList<Pair>();
  for(int i = 0; i < 100; i++ ) {
    double a = r.nextDouble() * 10;
    double b = r.nextDouble() * 10;
    centers.add( new Pair(a, b) );
  }
  System.out.println(centers);
}

下面是输出:

代码语言:javascript
复制
[(8.08, 8.06), (9.97, 1.83), (3.83, 3.19), (2.97, 2.51), (9.40, 2.88), (7.78, 2.59), (1.67, 9.07) ...

这不就是你想要的吗?仅供参考,这是我使用的Pair类:

代码语言:javascript
复制
class Pair {
  private final double a, b;
  Pair(double a, double b) { this.a = a; this.b = b; }
  @Override public String toString() { return String.format("(%.2f, %.2f)", a, b); }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10583111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档