首页 > 编程语言 >Java-汉诺塔问题

Java-汉诺塔问题

时间:2022-10-29 20:35:31浏览次数:43  
标签:char Java move 问题 num 汉诺塔 Tower public

//汉诺塔问题
public class Hannoi
{
	public static void main(String []args){
		Tower tower = new Tower();
		tower.move(5,'A','B','C');
	}
}

class Tower
{
	//num 表示要移动的个数
	public void move(int num,char a,char b,char c){
		//如果只有一个盘num =1
		if(num == 1){
			System.out.println(a + "--->" + c);
		}else{
			//如果有多个盘,可以看出两个盘,最下面的和上面的所有盘
			//(1) 先移动上面的所有盘到b,借助c
			move(num-1,a,c,b);
			//(2) 把最下面的盘,移动到c盘
			System.out.println(a + "--->" + c);
			//(3) 再把b盘的所有盘,移动到c盘,借助a
			move(num-1,b,a,c);
		}
	}
}

 

标签:char,Java,move,问题,num,汉诺塔,Tower,public
From: https://www.cnblogs.com/dbcxy/p/16839773.html

相关文章

  • 从新开始学JAVA - 数据类型6
    数据类型Java的数据类型有两大类基本类型(primitivetype)基本类型都属于关键字引用类型(referencetype)类接口数组具体分类基本类型又可以细分为以下类型......
  • javascript advanced interview questions All In One
    javascriptadvancedinterviewquestionsAllInOnejavascript高级面试题AllInOnehttps://github.com/lydiahallie/javascript-questionsrefs©xgqfrms2......
  • 【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式技术特别及问题分
    分布式架构互联⽹架构演进单体应⽤架构定义⼀个归档包(例如war格式)包含所有功能的应⽤程序,我们通常称为单体应⽤。⽽架构单体应⽤的⽅法论,就是单体应⽤架构。架构示意图优缺......
  • Java发展到现在,哪些技术可以放弃了?
    各位好啊,我是会编程的蜗牛,作为java开发者,对于各类java开发技术、开发框架肯定是多少都要了解和知道的。但是作为已经发展了几十年的java开发生态,各类技术层出不穷,有的新技......
  • java题目集4(四边形)、5(五边形)以及期中考试总结
    一、前言1、题目集4、5难度相比前几次有较大幅度的提升,难点在于算法的设计,如何设计能写出更简单易懂的代码,以及对于类的理解应用需要达到更高的水平。题目集4是对于......
  • Java中ServletContextListener监听器详解
    转载于http://www.51gjie.com/javaweb/875.htmlJava中ServletContextListener监听器详解ServletContextListener如果在web.xml中配置了这个监听器,那么启动容器时,就会默认......
  • JAVAWeb - HttpServletResponse
    HttpServletResponseweb服务器接收到客户端的Http请求,针对这个请求,分别创建了一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse如果要获取客户端......
  • JavaScript中window.onload和document.onload有什么区别?
    JavaScript中window.onload和document.onload有什么区别?document.onload在加载图像和其他外部内容之前将其触发。文件。在window.onload之前触发onload事件。window......
  • 南昌航空大学 软件学院 pta Java 期中考试 蔡珂
    两节课的期中考试啊题目难度不高基本就是按图说话如果不错太多bug的话时间应该很充足的很开心的是我没出啥bug除了第一题之外都是一遍过的题目列表目录题目列表7-1......
  • 从新开始学JAVA - 标识符5
    标识符Java的所有组成部分都需要名字,类名、变量名、方法名等统称为标识符。所有的标识符的首个字符必须是字母(A-Z或者a-z)或者美元符号($)或者下划线(_)首字符后,必须是字母(A......