2012-04-23 7 views
3

私はタワーズオブハノイのゲームのコードを書いています。私はこのプログラムのカウンターを何回実行したかについてカウンターを実装する方法を知らない。どんな助けでも大歓迎です。ハノイの塔のカウンター

public class MainClass { 
    public static void main(String[] args) { 
    int nDisks = 3; 
    doTowers(nDisks, 'A', 'B', 'C'); 
    } 

    public static void doTowers(int topN, char from, char inter, char to) { 
    if (topN == 1){ 
     System.out.println("Disk 1 from " + from + " to " + to); 
    }else { 
     doTowers(topN - 1, from, to, inter); 
     System.out.println("Disk " + topN + " from " + from + " to " + to); 
     doTowers(topN - 1, inter, from, to); 
    } 
    } 
} 
+0

はい、私はこのサイトに参加しました。ごめんなさい。 –

+0

@John Smith楽しんでください。 :) – biziclop

答えて

10

変更intvoidからdoTowersの戻り型、およびに戻り値を設定:topN == 1場合は1を返し、

  1. は他のロジックは、問題のアルゴリズムに似ている2 doTowers()プラス1

の合計を返します。楽しんでそれを考え出してください!

静的なグローバル変数を使用することもできますが、それは間違いなくプログラミングスタイルが悪いことです。

+0

申し訳ありませんがコードを投稿することができます。私はあなたが意味することを理解していませんでした。ありがとうございます –

+0

ありがとうございました!私はそれが働くようになった!助けてくれてありがとう。 –

+2

@JohnSmith:それは精神と楽しみです!おめでとう:) –

関連する問題