Cal*_*n54 1 java variables rectangles infinite
我正在创建一个游戏,它需要无限数量的矩形.例如,假设我将变量命名为car:
public Rectangle car1;
public Rectangle car2;
public Rectangle car3;
Run Code Online (Sandbox Code Playgroud)
等等,
会有更简单的方法吗?喜欢:
public int carNumber;
public Rectange car + carNumber;//if carNumber was one, it would be called car1
Run Code Online (Sandbox Code Playgroud)
另外,我需要测试矩形是否包含其他矩形.< - 我知道怎么做.
你不能也不应该试图宣布无数的东西 - 只是没有意义.而是使用可以容纳可变数量的对象引用的集合,例如ArrayList.例如,
private List<Rectangle> carList = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
这不起作用:
public Rectange car + carNumber;//if carNumber was one, it would be called car1
Run Code Online (Sandbox Code Playgroud)
因为变量名不能以这种方式工作,所以不能通过连接字符串来创建它们.但不要担心这一点,因为ArrayList会处理这个问题.列表中的第三项可以很容易地获得:carList.get(2).
要查看列表中的任何Rectangle是否包含另一个Rectangle,请使用for循环并遍历集合:
for (Rectangle rect : carList) {
if (rect.contains(testRectangle) {
// this item contains the test Rectangle
}
}
Run Code Online (Sandbox Code Playgroud)