我无法访问变量' InvalidAlready'在方法.isLatinSquare()的内部,我不明白为什么:/
代码的一部分:
public class LatinSquare {
private boolean invalidAlready = false;
//Setter and Getters for invalidAlready
public void setInvalid(){
invalidAlready = true;
}
public boolean testInvalid(){
return invalidAlready;
}
//Testing method to show whether LatinSquare is valid
public boolean isLatinSquare(int[][] array) {
if (square.getInvalid() = true) {
return false;
}
}
public static void main(String[] args) {
//Main Code Here
LatinSquare square= new LatinSquare();
我遇到的主要问题是isLatinSquare()方法中的if语句。在if语句中有一个错误,指出:无法在基本类型boolean上调用testInvalid()
在main方法中,我能够对if语句使用它,以便测试InvalidAlready对象是真还是假。
对不起我对java有些新鲜:/感谢任何帮助! 提前谢谢!
答案 0 :(得分:0)
InvalidAlready
是原始的boolean
类型,因此没有定义getInvalid()
方法:
public boolean isLatinSquare(int[][] array){
if (InvalidAlready.getInvalid() = true) // this is wrong
{
...
}
}
你可以这样做:
public boolean isLatinSquare(int[][] array){
if (InvalidAlready)
{
// do stuff
}
}
答案 1 :(得分:0)
试试这个版本:
if (invalidAlready){
return false;
}
InvalidAlready是一个布尔基元,它没有方法,可以是true或false;
答案 2 :(得分:0)
您的LatinSquare类没有getInvalid()方法...... 您应该使用名为testInvalid()的方法,或者将其重命名为与getInvalid()
对应