- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ArrayList<Brick> tiles = new ArrayList<Brick>();
public void init(){
for(int i=0; i<10; i++) {
tiles.add( new Brick(30,10,Color.red));
}
myPrint(tiles);
}
private static void myPrint(ArrayList<Brick>tiles) {
for (int i = 0; i < tiles.size(); i++)
System.out.println(tiles.toString());
}
上面是我尝试将 Brick 对象添加到数组列表中,但未能打印它。
这是 Brick 类:
public class Brick extends GCompound {
public Brick(int width, int height, Color color) {
GRect rect = new GRect(width, height);
rect.setFilled(true);
rect.setFillColor(color);
}
当我运行代码时没有任何显示。我尝试添加 toString 方法,但它也不起作用。我还尝试制作 ArrayList<GRect> tiles = new ArrayList<GRect>();
,但也无法打印。我的问题是,如何打印矩形对象的 arrayList?
编辑:
如果我不清楚我的目标,这里有一个与我想要实现的目标类似的屏幕截图:
我使用 for 循环做到了这一点,但我将添加必须删除矩形的条件,所以我认为 ArrayList 最适合。
最佳答案
在您的 Brick
构造函数中,您正在创建 GRect
对象,但不持有它的任何引用。
因此,您需要将 GRect
引用保留为 Brick
的实例变量,并重写 toString()
,如下所示:
public class Brick extends GCompound {
private GRect rect;
public Brick(int width, int height, Color color) {
this.rect = new GRect(width, height);
this.rect.setFilled(true);
this.rect.setFillColor(color);
}
@Override
public String toString() {
return "Brick{" +
"Height=" + rect.getHeight() +
"Width=" + rect.getWidth() +
"Color=" + rect.getFillColor() +
'}';
}
}
此外,您在 for
循环内调用 tiles.toString()
的 myPrint()
方法是不必要的,因此更新 myPrint
方法如下所示:
private static void myPrint(ArrayList<Brick> tiles) {
System.out.println(tiles);//remove for loop and printing tiles calls toString()
}
关于java - 如何打印 GRect 的 ArrayList (Java acm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43710567/
我正在尝试快速学习,但似乎我已经被卡住了。有人能指出为什么 { didSet { setNeedsDisplay() } } 似乎不起作用吗?!目标是在用户点击的地方画一个小圆圈这是我的 Contro
我想创建一个事件,以便在鼠标事件上测试真/假,在假的情况下,发生简单的动画,但我只看到动画的结果,而不是动画本身。 我已将“miss”、“dx”和“dy”定义为实例变量。 public voi
这是代码: package main; import java.awt.*; import acm.graphics.*; import acm.program.*; public class
从你们那里学到了很多东西,几个小时后,我终于成功地将 xib 加载到 GRect 中,以用于我构建的搜索 xib。 基本上,当您点击 main.xib 中的单元格时,它会在 Grect 中加载 sea
ArrayList tiles = new ArrayList(); public void init(){ for(int i=0; itiles) { for (int i = 0
我是一名优秀的程序员,十分优秀!