おはようございます。皆さん、おはようございます。ハノイのJava再帰のタワー
私のクラスは再帰についてやりがいのある宿題です。アイデアは、私たちがこのハノイプログラムの塔を持っていることです。数字5-25を表示するテーブルを作成するメインと、そのサイズの塔を解決するために必要な移動数
5 ---- 31移動
6 ---- 63を移動
等...
私はTowersOfHanoiクラスが設定されているようことをやってトラブルの少しを持っていますそれぞれの動きを印刷するためにアップして、私はそれを取り除くはずだとは思わないが、私はあまり確かではない。ここで
がTowersOfHanoiクラスは
public class TowersOfHanoi {
private int totalDisks;
private int count;
public TowersOfHanoi(int disks) {
totalDisks = disks;
count = 0;
}
public void solve() {
moveTower (totalDisks,1,3,2);
}
private void moveTower(int numDisks, int start, int end, int temp) {
if (numDisks ==1) {
moveOneDisk(start,end);
}
else {
moveTower (numDisks-1, start, temp, end);
moveOneDisk (start, end);
moveTower (numDisks-1, temp, end, start);
}
}
private void moveOneDisk(int start, int end) {
count = count+1;
System.out.println("Move one disk from "+start+" to "+end+" - Move "+count);
}
}
ある今、私はちょうどすべての単一のタワーの一つ一つの動きをプリントアウトすることなく、そのテーブルを作成することをメインに記述する必要がありますが、私はどのように本当にわかりません。どんな助けもありがとうございます
あなたが宿題として投票されている理由が分からないのは、あなたがそうでないような解決策を求めていない限りです。 @Ademibanはそうだけど、このサイトは、プログラミングに関する質問でランダムな見知らぬ人を支援するための時間をボランティアしている人でいっぱいです。彼らが尋ねるのは、あなたにとって最も役立つ答えをチェックすることです。 :) –
私はdownvoterではありません。 – shift66
スペンサー - これは実際に役立ち建設的でした。私はここに新しいです、そして、物事がまだどのように働くかをかなり理解していないので、ありがとうございます。 – salxander