繁体   English   中英

Java:使用一种方法从ArrayList获取值

[英]Java: Using a method to get values from an ArrayList

我需要在类内部使用一种方法来从主要区域内的ArrayList获取值。

我在高低处寻找答案,但我无法终生解决。

我需要ArrayList“ objectList”通过minArea函数运行。 我只是不知道如何从minArea / maxArea函数引用ArrayList中的值。 我当然可以弄清楚如何自行执行实际功能,但是我只需要知道如何在其中引用圆形和方形对象即可。

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());
}

试试看:

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());

}

我做了什么:我将未定义的变量放在方法被调用之前,并在主方法中声明了它。 但是,根据您的情况,您可能需要放置未定义的变量:

ArrayList<geometricObject> objectList;

之前的所有方法。

您可以执行以下操作:

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());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM