i'm trying to make iterative tower of hanoi, here is everything i have done so far
import java.lang.Math;
import java.util.Scanner;
public class Hanoi {
public static void hanoi(int n) {
// move n disks from the source peg to the dest peg using spare peg.
if(n == 0)
return;
if(n>26)
return;
Character[] stackArray = new Character[n+1];
Stack<Character> A = new Stack<Character>(stackArray);
Stack<Character> B = new Stack<Character>(stackArray);
Stack<Character> C = new Stack<Character>(stackArray);
for(int i = 0; i<n; i++)
A.push((char)('a'+i));
for(int j = 0; j<=Math.pow(2, n)-1; j++) {
if(A.top() == 'z') {
if(j%3==1 && !A.isEmpty()) {
C.push(A.pop());
System.out.println("Disk has been moved to pole 3");
}
else if(j%3==2 && !A.isEmpty()) {
B.push(A.pop());
System.out.println("Disk has been moved to pole 2");
}
else if(j%3==0 && !C.isEmpty())
B.push(C.pop());
System.out.println("Disk has been moved to pole 2");
}
else {
if(j%3==1 && !C.isEmpty()) {
A.push(C.pop());
System.out.println("Disk has been moved to pole 1");
}
else if(j%3==2 && !A.isEmpty()) {
B.push(A.pop());