Java 避免重复调用同一方法
我正在为我的Java入门课程做一个项目。我提交了代码,评审员说我需要重写以下内容:Java 避免重复调用同一方法,java,Java,我正在为我的Java入门课程做一个项目。我提交了代码,评审员说我需要重写以下内容: public void move() { if (iCanWin() > -1) { moveOnColumn(iCanWin()); } else if (theyCanWin(0, 0, false) > -1) { moveOnColumn(theyCanWin(0, 0, false)); else {
public void move()
{
if (iCanWin() > -1)
{
moveOnColumn(iCanWin());
}
else if (theyCanWin(0, 0, false) > -1)
{
moveOnColumn(theyCanWin(0, 0, false));
else
{
moveOnColumn(brilliantMove());
}
}
int nextMove = iCanWin();
if(nextMove > -1) {
moveOnColumn(nextMove);
} else ...
我不知道接下来会发生什么。。。评论员说,这将避免重复调用相同的方法。如果不是,通常在声明中
if (check a condition is true?)
{
moveOnColumn(iCanWin()); //do something
}
else if (other condition is true?)
{
moveOnColumn(theyCanWin(0, 0, false)); //do something
else//otherwise
{
moveOnColumn(brilliantMove()); //if previous condition doesn't be true
almost one of them this line go to be execute
}
如@ajb所述,只要在可能的情况下删除重复呼叫即可
public void move(){
int nextMove = iCanWin();
if (nextMove <= -1){
nextMove = theyCanWin(0, 0, false);
if(nextMove <= -1){
nextMove = brilliantMove();
}
}
moveOnColumn(nextMove);
}
你能把你的帖子移到你在正确的轨道上吗。重写if语句,但将值分配给nextMove,而不是对其调用moveOnColumn。然后,在最后,移动ColumnNextMove。谢谢ajb。这是有道理的。我这么做了,它成功了。如果你不感谢我,你可以随意接受我的回答。这完全有道理。非常感谢。这就是我所做的。int nextMove=我赢了;如果nextMove>-1{moveOnColumnnextMove;}否则{nextMove=theyCanWin0,0,false;//如果我不确定如果nextMove>-1{moveOnColumn brilliantMove;//如果我们两个都不能赢,那么就做出了一个精彩的举动}@TSgtKPF您能在回答您的问题时,将其中一个答案标记为已接受吗