【问题标题】:Make the same thing multiple times but with another name多次制作相同的东西,但使用另一个名称
【发布时间】:2016-04-27 20:47:43
【问题描述】:

我想多次制作相同的东西/对象,但使用另一个名称。

像这样: 我想制作 6 个多边形,但每个多边形都有另一个名称:

    Polygon p1 = new Polygon();
    Polygon p2 = new Polygon();
    Polygon p3 = new Polygon();
    Polygon p4 = new Polygon();
    Polygon p5 = new Polygon();
    Polygon p6 = new Polygon();

有没有办法用 for 循环或其他方法来做到这一点?

谢谢

【问题讨论】:

  • 在这里,数组很有意义。
  • 是的,但这并不能解决问题。如果我想制作 100 个多边形怎么办?
  • @Aleandro:然后创建一个大小为 100 的数组,并在循环中填充它。正如您所描述的那样,它确实确​​实解决了问题...
  • 好的,但我不明白你想怎么做。因为我想要不同的名字。第 99 个多边形命名为 p99。而且我不知道你怎么能像你描述的那样做到这一点。
  • @Alandro:不,这在 Java 中是不可能的,因为其他人已经写过了。

标签: java polygon


【解决方案1】:

您不能在 Java 中动态创建变量名。它们需要在编译时在源代码中可用。正如其他人所说,在 Java 中执行此操作的常用方法是创建一个数组或列表。例如:

List<Polygon> polygons = new ArrayList<>();
for (int ctr = 0; ctr < 100; ctr++) {
    polygons.add(new Polygon());
}

您不是通过名称引用对象,而是通过其索引

Polygon poly = polygons.get(22);

另一种思考方式。如果您的对象确实有 100 个单独的变量名称,该怎么办。那么如果你想在你的所有多边形上运行一些进程呢?你要吗。。

doSomething(p1);
doSomething(p2);
// ... lots more lines like this...
doSomething(p99);

或者简单地说:

for (Polygon poly : polygons) {
    doSomething(poly);
}

【讨论】:

    【解决方案2】:

    请查看Arrays 上的文档。

    在示例代码中,您可以将名称 anArray 更改为 myPolygons。您需要将int 更改为Polygon。但想法是一样的。您可以通过调用 p6 来引用它myPolygons[6]。 (或者可能是 myPolygons[5],因为 Java 是零偏移量,这意味着数组中的第一个是 myPolygons[0]。是的,for 循环也会有所帮助。

    【讨论】:

      【解决方案3】:

      这样的应该没问题

         List<Polygon> polygonObjects = new ArrayList<Polygon>();
      
          for(int i = 0; i < 6; i++){
              polygonObjects.add(new Polygon());
          }
      

      【讨论】:

        猜你喜欢
        • 2011-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        • 2015-01-20
        • 2021-10-21
        • 2019-09-04
        • 2021-06-05
        相关资源
        最近更新 更多