如何将布尔方法传递给Java中的另一个方法

时间:2014-10-20 19:23:30

标签: java

我有一个有两个方法的类(一个是布尔值),我想把那个布尔方法传递给另一个。因此,如果Rook棋子在棋盘上的移动是有效的,那么继续绘制该棋子:

public class Rook extends AbstractPiece {

    @Override
    public boolean isMoveValid(int srcRow, int srcCol, int destRow, int destCol) {
        boolean valid;
        if ((destRow == srcRow) || (destCol == srcCol)) {
            valid = true;
        } else {
            valid = false;
        }
        return valid;
    }

@Override
    public void draw() {

        if (isMoveValid == true){ //or if(valid == true) or something like that
            //draw stuff
        }
    }
}

3 个答案:

答案 0 :(得分:0)

您需要在第二个方法中使用有效参数调用isMoveValid。例如:

    @Override
    public void draw() {

        if (isMoveValid(1,1,2,2) == true){ //or if(valid == true) or something like that
            //draw stuff
        }
    }

答案 1 :(得分:0)

isMoveValid是一种方法,当你像变量一样使用它时。你的代码将是

public class Rook extends AbstractPiece {

    @Override
    public boolean isMoveValid(int srcRow, int srcCol, int destRow, int destCol) {
        boolean valid;
        if ((destRow == srcRow) || (destCol == srcCol)) {
            valid = true;
        } else {
            valid = false;
        }
        return valid;
    }

@Override
    public void draw() {

        if (isMoveValid(1,2,2,1)){ // or your requied values
            //draw stuff
        }
    }
}

答案 2 :(得分:0)

就像大卫所说,你必须将4个int值传递给isMoveValid方法

你在draw方法中的代码必须是这样的

public void draw() {

        if (isMoveValid(srcRow,srcCol,destRow,destCol)){ 
            //draw stuff
        }
    }

其中srcRow,srcCol,destRow,destCol是4个整数