我已经为河内塔游戏编写了代码。我不知道如何实现该程序运行次数的计数器。任何帮助都感激不尽。
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);
}
}
}
更改返回类型doTowers
from void
to int
,并将返回值设置为:
- if
topN == 1
,返回1;
- 否则返回两个之和
doTowers()
plus 1.
逻辑与问题的算法类似。祝你玩得开心!
您还可以使用静态全局变量,但这可以说是糟糕的编程风格。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)