在Java中动态创建对象

时间:2014-03-17 22:59:42

标签: java

我正在编写一个库来在控制台中打印图形,以便更好地理解java。我确实有我的代码工作,但我必须定义每个对象,如下所示。我不能在每个循环中使用a并浏览我的bar对象。我在这个类中有一个绘制条方法,逐行绘制条形图。描述它的最好方法是,我知道它不可能,但在运行时插入我的drawBar代码。如果你能想象那个。

ArrayList<Bar> barObjects = new ArrayList<Bar>();

public BarGraph(Bar... bar) {
    // This  constructor method builds the graph object
      for (Bar bars: bar) {
          barObjects.add(bars);
      }
}


// Located in a method
for(int i = 0; i < graphHeight; i++) {
drawBar(placeHolderCount,  10 - barObjects.get(0).getValue(), 0);
drawBar(placeHolderCount,  10 - barObjects.get(1).getValue(), 1);
drawBar(placeHolderCount,  10 - barObjects.get(2).getValue(), 2);
drawBar(placeHolderCount,  10 - barObjects.get(3).getValue(), 3);
}

1 个答案:

答案 0 :(得分:1)

类Bar似乎包含某些类型的Bar对象集合。您可以使用foreach循环。您只需要显式获取该集合,而不是直接在bar上编写foreach循环。在集合上写下foreach循环。

也是这样写的:

for (int i = 0; i < graphHeight; i++) {
    for (int j = 0; j < 4; j++)
        drawBar(placeHolderCount,  10 - barObjects.get(j).getValue(), j);
}