# The Towers of Hanoi : Recursive Method « Class Definition « Java Tutorial

Home
Java Tutorial
 1 Language 2 Data Type 3 Operators 4 Statement Control 5 Class Definition 6 Development 7 Reflection 8 Regular Expressions 9 Collections 10 Thread 11 File 12 Generics 13 I18N 14 Swing 15 Swing Event 16 2D Graphics 17 SWT 18 SWT 2D Graphics 19 Network 20 Database 21 Hibernate 22 JPA 23 JSP 24 JSTL 25 Servlet 26 Web Services SOA 27 EJB3 28 Spring 29 PDF 30 Email 31 J2ME 32 J2EE Application 33 XML 34 Design Pattern 35 Log 36 Security 37 Apache Common 38 Ant 39 JUnit
 Java Tutorial » Class Definition » Recursive Method
5.10.2.The Towers of Hanoi
 public class MainClass {   public static void main(String[] args) {     int nDisks = 3;     doTowers(nDisks, 'A', 'B', 'C');   }   public static void doTowers(int topN, char from, char inter, char to) {     if (topN == 1){       System.out.println("Disk 1 from " + from + " to " + to);     }else {       doTowers(topN - 1, from, to, inter);       System.out.println("Disk " + topN + " from " + from + " to " + to);       doTowers(topN - 1, inter, from, to);     }   } }
Disk 1 from A to C
Disk 2 from A to B
Disk 1 from C to B
Disk 3 from A to C
Disk 1 from B to A
Disk 2 from B to C
Disk 1 from A to C
 5.10.Recursive Method 5.10.1. Recursion: a method (function) calls itself 5.10.2. The Towers of Hanoi 5.10.3. Recursion: another example 5.10.4. Recursive factorial method 5.10.5. Recursive fibonacci method 5.10.6. Recursive method to find all permutations of a String