mport java.util.Scanner; public class TowerOfHanoi { /** * Main class */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter number of disk: "); int noOfDisks = scanner.nextInt(); System.out.println("Choose 3 rods roles(A, B, C) as (Initial, Final, Buffer): "); System.out.print("\tInitial Rod: "); char initialRod = scanner.next().charAt(0); System.out.print("\tFinal Rod: "); char finalRod = scanner.next().charAt(0); System.out.print("\tBuffer Rod: "); char bufferRod = scanner.next().charAt(0); towerOfHanoi(noOfDisks, initialRod, finalRod, bufferRod); } /** * * Recursion function */ static void towerOfHanoi(int noOfDisks, char initialRod, char finalRod, char bufferRod) { if (noOfDisks == 1) { System.out.println("Moving disk 1 from rod "+initialRod+" to rod "+finalRod); return; } towerOfHanoi(noOfDisks - 1, initialRod, bufferRod, finalRod); System.out.println("Moving disk "+ noOfDisks + " from rod " + initialRod +" to rod " + finalRod ); towerOfHanoi(noOfDisks - 1, bufferRod, finalRod, initialRod); } } --------------------- rewrite the above code by using for loop please. Java Programming
import java.util.Scanner;
public class TowerOfHanoi {
/**
* Main class
*/
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.print("Enter number of disk: ");
int noOfDisks = scanner.nextInt();
System.out.println("Choose 3 rods roles(A, B, C) as (Initial, Final, Buffer): ");
System.out.print("\tInitial Rod: ");
char initialRod = scanner.next().charAt(0);
System.out.print("\tFinal Rod: ");
char finalRod = scanner.next().charAt(0);
System.out.print("\tBuffer Rod: ");
char bufferRod = scanner.next().charAt(0);
towerOfHanoi(noOfDisks, initialRod, finalRod, bufferRod);
}
/**
*
* Recursion function
*/
static void towerOfHanoi(int noOfDisks, char initialRod, char finalRod, char bufferRod)
{
if (noOfDisks == 1)
{
System.out.println("Moving disk 1 from rod "+initialRod+" to rod "+finalRod);
return;
}
towerOfHanoi(noOfDisks - 1, initialRod, bufferRod, finalRod);
System.out.println("Moving disk "+ noOfDisks + " from rod " + initialRod +" to rod " + finalRod );
towerOfHanoi(noOfDisks - 1, bufferRod, finalRod, initialRod);
}
}
---------------------
rewrite the above code by using for loop please.
Java Programming
Step by step
Solved in 4 steps with 5 images