0

私はJavaと再帰関数全般に本当に慣れていません。私はいくつかのことで少し迷っています。何らかの理由で出力が重複するのはなぜですか。コンテンツを上に移動したときだけのようです。「isPageParent」関数がfalseを返し、関数を複数回実行しているように見えるため、これが発生する理由がわかります。しかし、私は理由を理解できませんか?私はこれに何時間も費やしてきましたが、完全に立ち往生しています。私は初心者なので、コード サンプルは大歓迎です。

public static String generateTest(Page page, Page rootPage, String bc) {

Page parent = page.getParent();

String bread = ""; 
bread += (parent != null) ? "<li><a href=" + parent.getPath() + ">" + parent.getTitle() + "</a>" : "";
bread += "<li>" + "<a href=" + page.getPath() + ">" + page.getTitle() + "</a></li>" + bc;
return (ifPageRoot(parent , rootPage)) ? breadcrumb : generateTest(parent, rootPage, bread);

}

public static boolean ifPageRoot(Page page, Page root) {
return (page == null || root.getPath().equals(page.getPath()));
}

ありがとう!

4

0 に答える 0