I've been trying to create a program to solve the towers of hanoi using recursive thinking. I've looked online a lot and cannot figure out why the code keeps printing out the wrong thing. Here is what I have so far:
public static void tower(int start, int finish, int helper, int number)
{
if(number == 1)
System.out.println("Move disk 1 from "+start+" to "+finish+".");
else
{
tower(start, finish, helper, (number - 1));
System.out.println("Move disk "+number+" from "+start+" to "+finish+".");
tower(helper, start, finish, (number - 1));
}
}
}
but it keeps printing out:
Move disk 1 from 1 to 3.
Move disk 2 from 1 to 3.
Move disk 1 from 2 to 1.
Move disk 3 from 1 to 3.
Move disk 1 from 2 to 1.
Move disk 2 from 2 to 1.
Move disk 1 from 3 to 2.
Any suggestions?