黑马程序员技术交流社区
标题:
java实现汉诺塔步骤
[打印本页]
作者:
小懒猫
时间:
2017-10-22 20:44
标题:
java实现汉诺塔步骤
[mw_shl_code=java,true]import java.util.Scanner;
public class DoTower {
public static void main(String[] args) {
int nDisks = 0;
System.out.print("请输入塔高:");
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
try {
nDisks = Integer.valueOf(read);
if (nDisks < 1) {
throw new RuntimeException();
}
} catch (Exception e) {
System.out.println("请输入大于等于1的整数!");
return;
}
int step = doTower(nDisks, 'A', 'B', 'C', 0);
System.out.println("此次共用"+step+"步");
}
public static int doTower(int topN, char from, char inter, char to, int step) {
++step;
if (topN == 1)
System.out.println("Disk 1: from " + from + " to " + to);
else {
step = doTower(topN - 1, from, to, inter, step);
System.out.println("Disk " + topN + ": from " + from + " to " + to);
step = doTower(topN - 1, inter, from, to, step);
}
return step;
}
}[/mw_shl_code]
作者:
wheat
时间:
2017-10-22 23:21
不错的算法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2