用于编辑ArrayList

时间:2016-10-11 20:33:01

标签: java arraylist methods boolean edit

我目前正在使用一个创建Cone对象的程序并将它们添加到ArrayList中。然后,您就可以输入某些字符来获取某些反馈或能力来处理锥体。我目前停留在一种方法,您需要能够编辑数组列表中的圆锥的半径或高度。您可以通过在其标签中键入来选择圆锥体。 Cone有三个参数(标签,高度半径)。这是方法的说明 -

“取三个参数(标签,高度和半径),使用标签查找 对应Cone对象。如果找到,则将高度和半径设置为传递的值 在as参数中,返回true。如果找不到,只返回false。 “

似乎甚至无法从方法存根开始以外的地方开始。任何帮助都会很棒。感谢。

2 个答案:

答案 0 :(得分:1)

以下是一些能够帮助您指明正确方向的代码

public boolean editCone(String label, double height, double radius)
{
    for(int index = 0; index < arrayOfCones.size(); index++)
    {
        //if the labels are the same then change the values
        if(arrayOfCones.get(index).getLabel().equals(label))
        {
            arrayOfCones.get(index).setHeight(height);
            arrayOfCones.get(index).setRadius(radius);
            return true;
        }
    }
    //if we get to this point then we haven't found a matching
    //label in our array list of cone objects
    return false;
}

答案 1 :(得分:0)

您可以查看以下示例解决方案:
https://gist.github.com/audacus/3ffa11e184d24869599e61b5d4763dea

// create cone array list
List<Cone> cones = new ArrayList<>();
...
// add cones
cones.add(new Cone("bar", 13.37, 4.2));
...
// method to find and change cones
boolean findAndAdjustCone(String label, double height, double radius) {
    // default is false
    boolean found = false;
    // iterate over all cones
    for (Cone cone : cones) {
        // if cone label equals the given label in the arguments...
        if (cone.label.equals(label)) {
            // set found to true
            found = true;
            // change values of cone
            cone.height = height;
            cone.radius = radius;
            // break for-loop because cone was found
            break;
        }
    }
    // return if cone was found or not
    return found;
}