これは私が取り組んでいた宿題です。Towers of Hanoi をプレイするための 2 つのクラスを作成しました。1 つ目は、基本的に実際のゲーム クラスを実行するランナーです。
import java.util.Scanner;
class TowersRunner {
public static void main(String[] args) {
TowersOfHanoi towers = new TowersOfHanoi();
towers.TowersOfHanoi()
}
}
public class TowersOfHanoi {
public static void main(String[] args) {
System.out.println("Please enter the starting " + "number of discs to move:");
Scanner scanner = new Scanner(System.in);
int num_of_discs = scanner.nextInt();
solve(num_of_discs, 'A', 'B', 'C');
}
public static void solve(int first_disc, char aTower, char bTower, char cTower) {
if (first_disc == 1) {
System.out.println("Disk 1 on tower " + aTower + " moving to tower " + cTower);
} else {
solve(first_disc - 1, aTower, cTower, bTower);
System.out.println("Disk " + first_disc + " on tower " + aTower + " moving to tower " + cTower);
solve(first_disc - 1, bTower, aTower, cTower);
}
}
}
私が助けを必要としているのは、TowersOfHanoi
クラスを自分のクラスから実行することTowersRunner
です。TowersOfHanoi
また、クラスでゲームが終了するまでにゲームの実行にかかった回数を表示するカウンターも実装する必要があります。基本的に私はある行が必要ですSystem.out.println("It took" + counter + "turns to finish.");
カウンターを正しく実装する方法がわかりません。また、 を実行するランナー クラスを作成することはできませんTowersOfHanoi
。クラスはTowersOfHanoi
それ自体で問題なく実行されますが、宿題の要件は、少なくとも 2 つのクラスが必要です。
助けていただければ幸いです!!! 私はJavaの初心者であり、プログラミング全般については、あまり高度にならないようにしてください。:D