怎样用Java编写汉诺塔程序

 我来答
匿名用户
推荐于2018-03-28
展开全部
package Hanoi;

import java.awt.*;
import java.io.*;
import java.awt.event.*;

public class Hanoi {

public static void main(String args[]) throws IOException {
Hanoi aa = new Hanoi();
aa.go();
}

public void go() throws IOException {
int n;
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入盘数:");
n = Integer.parseInt(buf.readLine());
Hanoi hanoi = new Hanoi();
hanoi.move(n, 'A', 'B', 'C');
}

public void move(int n, char a, char b, char c) {
if (n == 1) {
System.out.println("盘 " + n + " 由 " + a + " 移至 " + c);
} else {
move(n - 1, a, c, b);
System.out.println("盘 " + n + " 由 " + a + " 移至 " + c);
move(n - 1, b, a, c);
}
}
}

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
emily阳光不锈
2011-09-22 · 超过12用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:39.2万
展开全部
用递归 , 就是自己调用自己方法的那种
package test;

public class test {
public static void main(String args[])
{
System.out.println(method(4));
}
public static int method(int n)
{
System.out.println(n);

if(n==1){
return 1;
}
else
{
return n*method(n-1);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式