繁体   English   中英

从数组int的参数返回布尔值的方法

[英]Method to return boolean from parameter of array int

好的,这是我的第一篇文章。 首先,我一直在尝试自己解决这个问题,但是已经花了几个小时,我仍然迷失了方向。 我尝试搜索网络,但没有出现足够具体的信息。 这是项目的要求:

  1. 该类必须包含一个int类型且名为checkNumber的私有实例字段。在声明该字段的位置,不应进行任何显式初始化。
  2. 它必须提供一个无参数的构造函数,用于将checkNumber字段的值初始化为23。
  3. 它必须提供一个名为setCheckNumber的公共方法,该方法采用一个int类型的参数,将私有字段的值设置为该参数的值,并且没有返回值。 5.它必须提供另一个名为firstLastCheck的公共方法,该方法将ArrayList作为其参数并返回一个布尔值。 如果列表中的初始值或最后一个值等于实例字段checkNumber中的值,则该方法返回true;否则,该方法返回true。 否则返回false。 该方法可以假定该参数是包含至少一个元素的列表。 也就是说,它不是空列表,也不是null。

这是我到目前为止的内容:

public class BasicsA {
 //fields
 private int checkNumber;
 //constructor to initialize fields
 public BasicsA() {
     //initialize checkNumber
     checkNumber = 23;
 }
 //method to take input and change checkNumber
public void setCheckNumber(int nextNumber) {
    checkNumber = nextNumber;
}
//method to return boolean value
public boolean firstLastCheck(ArrayList<Integer>) {

        }
}

现在,我尝试改变各种事情。 就像使用firstLastCheck(nameofArrayVariable) 通常,它需要一个标识符,但是如果我能使它正常工作,它就无法将Array int作为布尔值返回。 这也使我感到困惑,因为没有指令先创建数组或将其定义为字段。 当数组中还没有元素时,如何检查第一个和最后一个数组元素呢? 您可能会认为checkNumber会将新的int传递到数组中,但是并没有这样做。

对不起,我希望我不要太复杂了。

编辑:

public boolean firstLastCheck(ArrayList<Integer> listInt) {
        if(listInt.get(0) == checkNumber || listInt.get(listInt.size() - 1) == checkNumber) {
        return true;
    } else {
    return false;
    }
}

那么如何使用BlueJ IDE对此进行检查? 我不明白它想要什么?

该方法应如下所示:

public boolean firstLastCheck(ArrayList<Integer> yourList) {

    return list.get(0) == this.checkNumber || list.get(yourList.size() - 1) == this.checkNumber;


}

然后,如果要检查它是否有效,可以在main()函数内声明一个ArrayList,填充它,最后调用firstLastCheck()方法。 就像这样:

public static void main(String [ ] args){

    ArrayList <int> my_values = new ArrayList<>();

    my_values.add(1);
    my_values.add(2);
    my_values.add(3);
    my_values.add(23); //the last element is equal to checkNumber

    System.out.print("firstLastCheck result: " + firstLastCheck(my_values));

}

除了类型,还需要给ArrayList一个本地名称。 然后,您需要检查第一个和最后一个值。 就像是,

public boolean firstLastCheck(ArrayList<Integer> list) {
    return list.get(0) == checkNumber || list.get(list.size() - 1) == checkNumber;
}

暂无
暂无

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

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