我在Java中遇到了這個函數的問題。我不明白爲什麼當lastNodeAttributes==null
是真時,執行跳轉到return null;
應該,但在此之後,而不是從函數返回它直接跳到return fight...;
在最後。爲什麼第一次返回不退出,但執行跳轉到第二個條件部分返回?這怎麼可能?請解釋原因顯然我不明白如何基本的Java工作。爲什麼返回不能在Java中退出函數?
public Node undo() {
Node lastNode=fight.getLastChild();
NamedNodeMap lastNodeAttributes = lastNode.getAttributes();
if(lastNodeAttributes == null) { return null; }
else {
String lastNodeFighter = lastNodeAttributes.getNamedItem("fighter")
.getNodeValue();
String lastNodePoints = lastNodeAttributes.getNamedItem("points")
.getNodeValue();
if(Integer.parseInt(lastNodeFighter) == 1) {
fighter1score-=Integer.parseInt(lastNodePoints);
}
else { fighter2score -= Integer.parseInt(lastNodePoints); }
return fight.removeChild(fight.getLastChild());
}
}
問題標題不匹配問題??? –
*「這怎麼可能?」* =>不是。 – assylias
我很肯定你在你的問題上做出了肯定,這是錯誤的。請使用調試器進行驗證。 –