【发布时间】:2016-02-19 23:12:07
【问题描述】:
好的,这是我的第一篇文章。首先,我一直在尝试自己解决这个问题,但是已经几个小时了,我仍然迷路了。我试过在网上搜索,但没有足够具体的东西出现。这是项目的要求:
- 该类必须包含一个 int 类型的私有实例字段并命名为 checkNumber 。声明该字段的位置不应进行显式初始化。
- 它必须提供一个无参数的构造函数来初始化值 checkNumber 字段的值为 23。
- 它必须提供一个名为 setCheckNumber 的公共方法,该方法接受 一个 int 类型的参数,设置私有的值 字段为参数的值,并且没有返回值。 5. 它必须提供另一个名为 firstLastCheck 的公共方法 将 ArrayList 作为其参数并返回一个布尔值。 如果列表中的初始值或最后一个值等于 实例字段 checkNumber 然后该方法返回 true; 否则返回false。 该方法可以假设参数是一个至少包含 一个元素;也就是说,它不是空列表,也不为空。
这是我目前所拥有的:
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 进行检查呢?我不明白它想要什么?
【问题讨论】:
-
"如果列表中的初始值或最后一个值等于实例字段 checkNumber 中的值,则该方法返回 true;否则返回 false。"。您不会将数组列表作为布尔值返回。您检查给定数组列表中的第一个或最后一个元素是否与您的私有变量匹配,如果匹配,则返回 true,否则返回 false。
-
天哪,我不知道我是怎么忘记那个规范的。我确实看到了,并且正在考虑如何引用 checkNumber,返回的布尔值让我失望。谢谢你,我会继续努力的。
-
我已经看到你的问题的编辑,如果你检查我上面的答案,我告诉你如何在 main() 函数中检查这段代码。
-
对不起 Miquel,感谢您的帮助,但我的意思是使用 IDE 调用该方法,而不再对源代码做任何事情。不过,我可能只是感到困惑,也许我们不应该以这种方式调用该方法。我会尝试你的方法,至少检查它是否有效。
-
那么您的意思是调试您的方法吗?如果是这样,我很抱歉,我从来没有使用过 BlueJ IDE,所以我不知道如何调试它。无论如何,我告诉你的方法是检查代码的好方法,因为这可能是你的老师检查它的方法。你总是可以写更多的代码来检查你应该做什么,尽管你没有交付它。