私は再帰的メソッドについて少し学ぼうとしていて、ツリー内のすべての整数の合計をカウントするバイナリツリーのメソッドを書いています。コードは正常に機能しますが、アプリケーションがいつ停止するかを知る方法についてはまだ少し混乱しています。私のコードは次のようになります。
public int sum(){
return sum(overallRoot);
}
private int sum(IntTreeNode root) {
if (root == null) {
return 0;
}else {
return root.data + sum(root.left) + sum(root.right);
}
}
(上記のコードは私のnodeTreeクラスからのものです)
次のコードは私のメインクラスからのものです:
public class TreeClient {
/**
* @param args
*/
public static void main(String[] args) {
IntTree tree = new IntTree(12);
System.out.println(tree.sum());
}
}
したがって、問題は(おそらく多くの場合非常に単純ですが)、アプリケーションはいつ停止するかをどのように知るのでしょうか?iveは単純なシステムアウトプリントを使って理解しようとしましたが、私の理解では、メソッドはそれを無限ループで自己と呼びますか?
誰かが応答する時間があることを願っています!