资源简介
【实例简介】java算法汉诺塔(hanoi)
【核心代码】
【核心代码】
public class Hanoi { /** * Hanoi塔问题 */ public static void main(String[] args) { try { Scanner s = new Scanner(System.in); System.out.print("请输入圆盘个数 n="); int n = s.nextInt(); System.out.println("移动过程:"); hanoi(n, 'a', 'b', 'c'); // String n; // InputStreamReader isr=new InputStreamReader(System.in); // BufferedReader br=new BufferedReader(isr); // System.out.print("请输入圆盘个数 n="); // n=br.readLine(); // hanoi(Integer.parseInt(n),'a','b','c'); } catch (Exception e) { e.printStackTrace(); } } public static void hanoi(int n, char a, char b, char c) { if (n == 1) { // 只有一个圆盘时 System.out.println("Move Disc No:" n " from pile " a " to " b); } else { // 先把a上的n-1个圆盘借助b移到c上 hanoi(n - 1, a, c, b); // 再把a上最大的圆盘移到b上 System.out.println("Move Disc No:" n " from pile " a " to " b); // 然后把c上的n-1个圆盘借助a移到b上 hanoi(n - 1, c, b, a); } } }
代码片段和文件信息
import java.util.Scanner;
public class Hanoi {
/**
* Hanoi塔问题
*/
public static void main(String[] args) {
try {
Scanner s = new Scanner(System.in);
System.out.print(“请输入圆盘个数 n=“);
int n = s.nextInt();
System.out.println(“移动过程:“);
hanoi(n ‘a‘ ‘b‘ ‘c‘);
// String n;
// InputStreamReader isr=new InputStreamReader(System.in);
// BufferedReader br=new BufferedReader(isr);
// System.out.print(“请输入圆盘个数 n=“);
// n=br.readLine();
// hanoi(Integer.parseInt(n)‘a‘‘b‘‘c‘);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void hanoi(int n char a char b char c) {
if (n == 1) {
// 只有一个圆盘时
System.out.println(“Move Disc No:“ + n + “ from pile “ + a + “ to “
+ b);
} else {
// 先把a上的n-1个圆盘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-10-22 21:12 hanoi\
文件 301 2013-10-22 21:12 hanoi\.classpath
文件 381 2013-10-22 21:12 hanoi\.project
目录 0 2013-10-22 21:12 hanoi\.settings\
文件 598 2013-10-22 21:12 hanoi\.settings\org.eclipse.jdt.core.prefs
目录 0 2013-10-22 21:12 hanoi\bin\
文件 1504 2013-10-22 21:12 hanoi\bin\Hanoi.class
目录 0 2013-10-22 21:12 hanoi\src\
文件 1137 2013-10-22 21:12 hanoi\src\Hanoi.java
相关资源
- java算法斐波那契(Fibonacci)数列
- java 组合算法类(用递归实现)
- java 设计模式之 外观模式
- java 适配器模式
- Java文件切割器源代码
- Java基本数据类型的要点及转换
- 文本编辑
- java 集合 synchronized 操作
- 是男人就撑过30秒 游戏
- Swiper3插件 入门级
- 计算java项目总行数
- JAVA编写的一个简易的电梯模型,完成
- java 设计模式(入门级)
- effective java 3 源代码
- NFA转换成DFA的java实现(课程设计)
- 2048小游戏源码(java)
- java合并txt文件(swing项目)
- java实现A*算法查询广东省各级城市之
- iReport使用JavaBean作为数据源——入门
- java 批量重命名工具源码
- java入门136: 快速批量移动文件()
- java入门138:java将图片保存至mysql数据库
- 基于JAVA硬件设备通讯
- java猜数字游戏(入门级)
- java入门139:从数据库读取图片文件
- java 动态加载磁盘文件(获取目录下的
- java创建磁盘索引文件(入门级)
- java读取属性文件单个属性值(.prope
- java向属性文件中添加信息
- java在复制文件时使用进度条
评论
共有 条评论