`
阅读更多
package wgy;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class HanRuoTa {

/**
* 汉诺塔算法
*/
public static void main(String[] args) {
int n =0;
        BufferedReader buf;
        buf = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("请输入盘数:");
        try {
n = Integer.parseInt(buf.readLine());
} catch (NumberFormatException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}

        HanRuoTa hanoi = new HanRuoTa();
        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);
        }
}

}
分享到:
评论

相关推荐

    汉诺塔Java实现

    总的来说,汉诺塔Java实现是一个很好的实践案例,展示了如何使用递归解决复杂问题,以及如何在Java环境中创建简单的用户界面。这个项目可以帮助学习者理解递归算法的工作原理,同时也能提升他们在面向对象编程和GUI...

    汉诺塔java源码汉诺塔java源码

    本篇文章将详细解析汉诺塔问题的背景、算法原理以及如何用Java语言实现。 1. 汉诺塔问题介绍: 汉诺塔问题由三个柱子组成,分别为A、B、C。A柱子上有一系列大小不一的圆盘,按照从大到小的顺序堆叠。目标是将所有...

    Java实现汉诺塔递归算法详解

    汉诺塔问题是一个经典的递归算法问题,它源自印度的一个古老传说,旨在通过演示如何将一组盘子从一根柱子移动到另一根柱子来解释宇宙的起源。在这个问题中,我们有三根柱子A、B和C,以及N个大小不一的盘子,初始时...

    汉诺塔 Java版(可实现鼠标拖动和自动演示)

    在本项目中,"汉诺塔 Java版(可实现鼠标拖动和自动演示)",开发者不仅实现了基础的汉诺塔问题的解决方案,还增加了交互性的功能,让用户可以通过鼠标拖动盘子进行操作,这涉及到Java图形用户界面(GUI)的设计。...

    java实现界面-汉诺塔

    为了实现汉诺塔的界面,我们需要理解递归算法,熟悉Java GUI编程,以及如何在控制器、视图和模型之间进行交互。这将涉及到文件I/O操作、事件处理和图形渲染等多个Java编程领域的知识。通过这个项目,开发者不仅可以...

    汉诺塔 java版

    在Java编程中实现汉诺塔游戏,我们可以采用递归算法来解决这个问题。 首先,我们需要创建一个Java程序,它包含一个主类,例如`HanoiTower`,在这个类中我们将定义汉诺塔游戏的核心逻辑。在`HanoiTower`类中,我们...

    汉诺塔 JAVA课程设计

    汉诺塔是一个经典的递归问题,它通过Java编程语言实现能帮助学习者深入理解面向对象编程的概念和递归算法的应用。在这个课程设计中,学生将使用Java语言开发一个图形用户界面(GUI)来模拟汉诺塔游戏。 1. **设计...

    汉诺塔演示程序 java程序源代码

    综上所述,这个汉诺塔演示程序是一个典型的基于AWT库的Java GUI应用实例,它不仅展示了如何使用AWT的各种组件创建用户界面,还涉及到了递归算法的应用。对于学习Java GUI编程以及递归算法的人来说,都是一个很好的...

    汉诺塔迭代算法(JAVA版)

    总的来说,汉诺塔的迭代算法提供了一种非递归的视角来理解和解决这个问题,对于学习算法和数据结构的人来说是一个很好的练习。通过这种方式,我们可以更深入地理解问题的本质,并为解决其他类似问题打下基础。

    JAVA图形界面程序——汉诺塔演示程序代码

    ### JAVA图形界面程序——汉诺塔演示程序代码 #### 概述 本篇文章将详细介绍一个用Java语言编写的汉诺塔问题的图形界面演示程序。汉诺塔问题是一种经典的递归算法实例,常用于教授递归思想。在这个程序中,我们将...

    Java 程序设计 可视化汉诺塔问题 玩法演示 玩家游戏

    总的来说,Java程序设计中的汉诺塔问题不仅展示了递归算法的应用,还涉及了GUI设计、多线程和定时器的使用,这些都是Java开发中非常重要的技能。通过这个玩家游戏,开发者不仅可以锻炼逻辑思维能力,还可以提升GUI...

    java实现汉诺塔演示及手动操作汉诺塔

    汉诺塔是一个经典的递归问题,...通过阅读代码,我们可以看到如何将理论的汉诺塔算法与Java GUI编程结合在一起,实现了一个交互式的汉诺塔游戏。这对于学习Java编程、递归算法以及图形用户界面设计都是很好的实践案例。

    汉诺塔Hannoi(java)源程序

    汉诺塔的Java实现通常会使用递归算法,递归函数的基本思路是: - 如果只有1个圆盘,直接从起始柱移动到目标柱。 - 对于n个圆盘,首先将上面n-1个圆盘从起始柱通过目标柱移动到辅助柱。 - 然后将第n个圆盘从起始柱...

    汉诺塔java课程设计

    汉诺塔游戏的解法可以用递归算法来表示,这也是一个很好的编程实践案例,尤其适用于学习Java编程的学生进行课程设计。 在Java平台上实现汉诺塔游戏,首先需要理解基础的面向对象编程概念,如类、对象、封装、继承和...

    用JAVA实现的汉诺塔

    在Java编程中,实现汉诺塔的过程可以帮助我们理解递归算法及其应用。下面我们将详细探讨汉诺塔问题以及如何使用Java来解决它。 首先,我们要明白汉诺塔的基本规则: 1. 每个盘子都有唯一的编号,从1到n,较大的盘子...

    汉诺塔java实现

    总的来说,汉诺塔问题的Java实现是学习和掌握递归算法的一个优秀实例,通过理解和编写这样的代码,开发者能够提升解决问题的能力,特别是在处理复杂数据结构和算法设计时。同时,这也是一个很好的练习,有助于提高...

    java编写的汉诺塔

    #### Java实现汉诺塔算法 在Java中实现汉诺塔问题通常采用递归的方法。递归算法简洁明了,易于理解。下面详细介绍如何使用Java实现汉诺塔问题。 1. **定义基本类**:首先,我们可以定义一个类来表示汉诺塔游戏的...

    自己用java做的汉诺塔

    在Java编程中实现汉诺塔游戏,我们可以深入理解递归算法、面向对象编程以及事件处理等方面的知识。以下是对这个项目的详细分析: 1. **递归算法**: 汉诺塔问题的核心在于递归解决策略。在Java中,我们可以通过...

    汉诺塔java代码

    总之,汉诺塔问题的Java实现展示了递归算法的强大之处,它能处理复杂问题的结构化分解,是计算机科学中不可或缺的概念。同时,理解和掌握递归有助于学习其他高级编程概念,如树遍历、图搜索等。

Global site tag (gtag.js) - Google Analytics