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

时间:2016-02-19 23:12:07

标签: java arrays

好的,这是我的第一篇文章。首先,我一直试图自己解决这个问题,但这已经过了几个小时,我还是迷路了。我尝试过在网上搜索,但没有具体的内容。以下是该项目的要求:

  1. 该类必须包含int类型的私有实例字段并命名为checkNumber。在声明字段时,不应该显式初始化。
  2. 它必须提供初始化值的无参数构造函数 checkNumber字段为23。
  3. 它必须提供一个名为setCheckNumber的公共方法 int类型的一个参数,设置私有的值 字段为参数的值,并且没有返回值。它必须提供另一个名为firstLastCheck的公共方法 将ArrayList作为其参数并返回一个布尔值。 如果列表中的初始值或最后一个值等于中的值 实例字段checkNumber然后该方法返回true; 否则返回false。 该方法可以假设参数是至少包含的列表 一个要素;也就是说,它不是空列表,也不是空的。
  4. 这是我到目前为止所做的:

    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作为boolean返回。它也让我感到困惑的是,没有指令可以先创建数组或将其定义为字段。 当数组中没有元素时,它如何检查第一个和最后一个数组元素?您会认为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进行检查呢?我不明白它想要什么?

2 个答案:

答案 0 :(得分:1)

该方法应如下所示:

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

}

答案 1 :(得分:0)

除了类型,您还需要为ArrayList提供本地名称。然后你需要检查第一个和最后一个值。像,

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