我需要使用类内部的方法从主区域内的ArrayList获取值。
我已经搜索了高低的答案,我不能为我的生活弄清楚。
我需要ArrayList" objectList"要通过minArea函数运行。我只是不知道如何从minArea / maxArea函数引用ArrayList中的值。我当然可以弄清楚如何自己完成实际的功能,但我只需要知道如何在...内引用Circle和Square对象。
public static class geometricObject {
String color = "white";
public String fillColor() {
return color;
}
public double minArea() {
return 0;
}
public double maxArea() {
return 0;
}
}
public static class Circle extends geometricObject {
public static double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
double ans = Math.PI * (radius * radius);
return ans;
}
}
public static class Square extends geometricObject {
public double width;
public Square(double width) {
this.width = width;
}
public double getArea() {
double ans = width * width;
return ans;
}
}
public static void main(String[] args) {
ArrayList<geometricObject> objectList = new ArrayList<geometricObject>();
objectList.add(new Circle(8));
objectList.add(new Circle(3));
objectList.add(new Square(5));
objectList.add(new Square(4));
objectList.add(new Square(3));
int i = 5;
System.out.println(objectList..minArea());
}
答案 0 :(得分:0)
试试这个:
ArrayList<geometricObject> objectList;
public static void main(String[] args) {
objectList = new ArrayList<geometricObject>();
objectList.add(new Circle(8));
objectList.add(new Circle(3));
objectList.add(new Square(5));
objectList.add(new Square(4));
objectList.add(new Square(3));
int i = 5;
System.out.println(objectList..minArea());
}
我做了什么:我在调用方法之前放置了未定义的变量,并在main中声明了它。但是,在您的情况下,您可能希望放置未定义的变量:
ArrayList<geometricObject> objectList;
在所有方法之前。
答案 1 :(得分:0)
您可以执行以下操作:
for (i=0; i<5; i++) {
geomtericObject g = objectList.get(i);
System.out.println(g.minArea());
System.out.println(g.getArea());
}
或远离使用索引:
foreach (geomtericObject g : objectList) {
System.out.println(g.minArea());
System.out.println(g.getArea());
}