3

Towers Of Hanoi ゲームのコードを書きました。このプログラムの実行回数にカウンターを実装する方法がわかりません。どんな助けでも大歓迎です。

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);
    }
  }
}
4

1 に答える 1

10

の戻りタイプをdoTowersからvoidに変更しint、戻り値を次のように設定します。

  1. の場合topN == 1、1を返します。
  2. doTowers()それ以外の場合は、2と1の合計を返します。

ロジックは問題のアルゴリズムに似ています。それを理解するのを楽しんでください!

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

于 2012-04-23T20:38:27.093 に答える