问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样用Java编写汉诺塔程序

发布网友 发布时间:2022-04-30 16:11

我来回答

2个回答

热心网友 时间:2022-06-27 03:59

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);
}
}
}

热心网友 时间:2022-06-27 03:59

用递归 , 就是自己调用自己方法的那种
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);
}
}
}
求java汉诺塔源代码的注解(急!)

import java.awt.*;public class TowerPoint //公共类TowerPoint { int x,y; //定义2个int类型的变量 boolean 有盘子; //定义一个boolean类型的变量 Disk 盘子=null; //初始化一个对象"盘子"并赋值为空 HannoiTower con=null; //初始化一个HannoiTower类的对象"con"并赋值为空 public TowerPo...

设计并编写汉诺塔程序怎么弄得用java的

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 Input...

求java版汉诺塔的演示程序

/ 本程序完成的功能是利用汉递规算法实现汉诺塔的动态演示程序 / import javax.swing.*;import java.awt.geom.*;import java.awt.event.*;import java.awt.*;public class Hanio extends JApplet implements ActionListener, Runnable { / diskNum是盘子的数量 / private int diskNum ;/ 各个组件的...

java汉诺塔(河内塔)问题。解释一下汉诺塔为3时怎么想

你把1,2盘看成一个特殊的盘。所以现在n=2,当n=2时,需先把1盘移动到B塔中,把1-3步一起看,作用即把特殊盘移动至B。然后把3盘移动至C塔,即第4步。最后,把特殊盘移动到C塔上,同样把5-7步一起看,达到的效果即把特殊盘移动至C盘,完成!!等于4的时候 ,其实就是把123盘看成特殊盘...

小学四年级河内塔问题!!!火急!!!火急!!!火急!!!

(level+"层:"+a+"--->"+b); } public static void main(String[] args) { Scanner sc = new Scanner();//括号中是输入,提交不上去所以就没写 System.out.println("请输入汉诺塔的层数:"); int n = sc.nextInt(); System.out.println(n + "层汉诺塔的解法是:"); hanoi(n,"A","B","C"...

JAVA中能够实现方法的递归调用吗?如何实现?

直接调用funca(){ ... funca();};间接调用;funca(){ ... funcb();}funcb(){ ... funca(); ...} 汉诺塔源码public class HanoiY { void Move(char chSour,char chDest){ System.out.println("Move the top plate of "+chSour+"-->"+chDest...

考“软考”的软件设计师,该看什么书?

对C语言要非常熟练(要会应用C语言语句的一些技巧,如可以利用函数的返回值做为判定条件,在循环中对数组的处理可使用a[i++]来提高编写代码的效率,这类的小技巧只有通过大量的阅读代码才能提高),如果是初学面向对象方面的高级语言,建议还是先学C++,感觉它更象一种语言规范,而Java是一种编程的工具...

JAVA程序经常用到“递归”,“递归”的基本思想是

如果使用递归的思维,过程就是这样的,要求1+1/2+1/3+...+1/n的值,可以先求s1=1+1/2+1/3+...+1/(n-1)的值,再用s1加上1/n就是所求的值,而求s1的过程又可以使用上面的分解策略继续分解,最终分解到求1+1/2的值,而这个问题简单到我们可以直接解决,自此问题得到解决。递归强调的...

高分悬赏Java程序,急!!!

参考题目:1.做一个写字板,要求本软件用户必须注册方可运行(注册后下次启动无需在注册,第一次使用必须注册)。 2.五子棋双人对弈程序。要求: •按开始按钮双方开始下棋,当在已经下棋的位置放子时提示信息 •一方赢时提示 3.一个扫雷程序,基本要求如同win 98中的扫雷。 4.或者以下项目,每组选定一个题目。

求高手用c++解决二十四点的问题,具体如下

写算法我首选的语言还是c++,但是很惭愧c++的HashTable我不会用,因此用java写了一个版本,还算比较成功,能输出最终的结果。在写程序前我写了一个小程序来测试java的HashSet和ArrayList的查找效率,结果很令人惊讶。在10000次查询中,HashSet所用时间为0ms,而ArrayList则用了1300多ms,看来这个效率完全不是一个数量级上...

汉诺塔程序 汉诺塔编程 汉诺塔c语言程序 汉诺塔问题编程算法 汉诺塔6层教程 汉诺塔问题 汉诺塔递归 汉诺塔传说 新汉诺塔
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...提升额度至27000元,4.30号我打电话给光大银行确认提额 树人大学体质测试身高159.2,体重51.3。仰卧起坐26个。立定跳远1.62,体... 10分`我有个MP3可以播放视频能播放电影么? ?玫瑰花茶晚上喝好还是白天喝好 玫瑰花茶晚上喝会影响睡眠吗 睡前喝花茶好吗 睡眠不足能喝花茶吗 会吃鱼的人聪明吗 宝宝攒肚与便秘的区别是什么呢? 什么才是所谓的幸福 如何判断宝宝是否出现了攒肚? 我的QQ密码忘记了,可是怎么找也找不到怎么办? 请问滴滴直接上车怎么下单? 英雄联盟录制怎么开高清录制 录LOL视频,码率设为多少比较好 用睡眠面膜,早上起来印堂处有很深皱纹 滴滴打车和快滴打车是怎么付费的?乘客可以先招手上车了再下订单吗? 请问gmail【Google mail】发邮件的附件添加最大容量是多少? gmail邮箱是不是不可以发送超过10M的附件? Gmail邮箱每次最大附件是多少? 怎么开启“LOL”的高清录制? 年轻轻的眉间就有了皱纹,最近我发现睡觉时的皱眉越来越严重了,如何消除 gmail邮箱附件限制大小是多少 一夜起来为什么眉间皮肤皱巴巴? 中学生早餐吃什么有营养? 为什么早上起来眉间的皱纹要比平时严重很多??? gmail 邮箱可以收多大的附件 中学生早餐吃什么比较好? 中学生吃什么早餐最有营养 gmail的附件允许多大? 中学生吃什么早餐最营养 汉兰达为什么清洗节气门后费油? 晚上侧着睡会产生眉间纹吗 Gmail邮箱上传附件最大是多少? 英雄联盟默认视频设置是什么 2017西安住房购房资格申请资料及申报程序 JAVA汉诺塔 磁场强度分别是矢量还是标量,为什么>??? 瀑布王半自动洗衣机注水时一直排水是什么问题 汉兰达费油洗节气门管用吗 GMail邮箱一次能上传多大的文件 急求Java 汉诺塔 编程!! 磁感应强度是矢量还是标量? 偷梁换柱上屋顶打一生肖。十八少年打篮球打一生肖。偷梁换柱上屋顶猜一生肖。十八少年打篮球猜一生肖 西安在哪个网站上可以查询到商品房的房产证办理进度?谢谢! 丰田汉兰达洗节气门要排空气吗 如何用java实现汉诺塔中的递归 磁场强度分别是矢量还是标量,为什么 惊天动地66级的任务 汉兰达两年近4w公里需要清洗节气门吗 java实现汉诺塔的代码,求注释,具体到每一行代码,急求,,,