- ベストアンサー
プログラムを再帰的に実行させたい
いつもお世話になっています。 ブログのトラックバック先のURLを取得するプログラムを作成しているのですが、 以下のようなプログラムを例において、 プログラムを再帰的に実行させたいです。 public class BlogTB { public static void main(String[]args){ String url1 = args[0]; String[] TBURL =HTMLTB.getHTMLtb(url1); for(int i=0;i<TBURL.length;i++){ System.out.println(TBURL[i]); } } HTMLTB.getHTMLtbでは、以前の質問の http://oshiete1.goo.ne.jp/kotaeru.php3?q=1725502 ご回答を参考にして作成した各ブログサービスごとに対応する トラックバック先のURLを取得する処理を行い、 HTMLをパースしてトラックバック先のURLを抽出し、 その一覧をTBURLに格納します。 例えば、ブログAの記事に、 B,C,D,E,Fのブログがトラックバックをしていたとすると、 上記のプログラムの結果として、ブログAのURLを入力すると、 B,C,D,E,FのブログのURLを表示するようになっています。 そこで、ブログAにトラックバックをしていたブログBにa,b,cのブログがトラックバックしていて、 同様にブログEにはd,eのブログがトラックバックをしていて、 さらにブログcにはブログ1,2がトラックバックをしていたとします。 このとき、B,C,D,E,FのブログのURLだけでなく、 a,b,cとd,eと1,2のブログのURLも取得したいと思っています。 つまり、プログラムを再帰的に動かして、 ブログAからたどれる全てのブログのURLを取得したいと思っています。 そのようにするには、上記のプログラムの中で、 どのような処理をさせればいいでしょうか? よろしくお願いします。
お礼
ご回答ありがとうございました。 とりあえず、上記のプログラムを試してみたのですが、 以下のようなエラーがでました。 BlogTB.java:19: メソッドの宣言が不正です。戻り値の型が必要です。 private static addUrl(ArrayList al, String url) { ^ BlogTB.java:13: シンボルを解釈処理できません。 シンボル: メソッド addUrl (java.util.ArrayList,java.lang.String) 位置 : BlogTB の クラス addUrl(al, url); ^ BlogTB.java:23: シンボルを解釈処理できません。 シンボル: メソッド addUrl (java.util.ArrayList,java.lang.String) 位置 : BlogTB の クラス addUrl(al, TBURL[i]); この場合戻り値の型として何を指定すればよいでしょうか? また、色々戻り値の型を試したのですが、 return 文が指定されていないというエラーが出ます。 returnには何を指定すればよいのでしょうか? よろしくお願いします。