towersofhanoi.java

来自「此源码为机械工业出版社出版的《Java语言程序设计》第三版所配套的书中所有源代码」· Java 代码 · 共 33 行

JAVA
33
字号
// TowersOfHanoi.java: Find solutions for the Towers of Hanoi problem
public class TowersOfHanoi
{
  // Main method
  public static void main(String[] args)
  {
    // Read number of disks, n
    System.out.println("Enter number of disks");
    int n = MyInput.readInt();

    // Find the solution recursively
    System.out.println("The moves are:");
    moveDisks(n, 'A', 'B', 'C');
  }

  // The method for finding the solution to move n disks
  // from fromTower to toTower with auxTower
  public static void moveDisks(int n, char fromTower,
    char toTower, char auxTower)
  {
    if (n==1) // Stopping condition
      System.out.println("Move disk " + n + " from " +
        fromTower+" to " + toTower);
    else
    {
      moveDisks(n-1, fromTower, auxTower, toTower);
      System.out.println("Move disk " + n + " from " +
        fromTower + " to " + toTower);
      moveDisks(n-1, auxTower, toTower, fromTower);
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?