java递归实现汉诺塔
/*
* 汉诺塔,从第1个柱子借助第2根柱子移动到第3根
*/
public class TowerOfHano {
private int totle;//总共盘子数目
public TowerOfHano(int totle){
this.totle=totle;
}
private void moveOne(int start,int end){
System.out.println("从"+start+"移动一块盘子到"+end);
}
private void moveAll(int totle,int start,int temp,int end){
if(totle==1){
moveOne(start,end);
}else{
moveAll(totle-1,start,end,temp);
moveOne(start,end);
moveAll(totle-1,temp,start,end);
}
}
public static void main(String[] args) {
TowerOfHano tower = new TowerOfHano(3);//测试三块盘子
tower.moveAll(tower.totle, 1, 2, 3);
}
}
相关文档:
在一个项目中,客户用C#实现了DES加密,由于需要和java方面的程序进行数据交互,所以必须配合进行加解密工作。客户提供了密钥和向量,我看了看代码,c#做这个事情还蛮简单。 用java实现关键是我不字段怎么设置向量,一般用Cipher对象都是默认随机向量。搞了一阵,发现是用IvParameterSpec这个类来设置。于是有了以下代 ......
最近论坛上看到好几个朋友都在问,如何学习 Java的问题,”我已经学习了J2SE,怎么样才能转向J2EE?”, “我看完了Thinking in Java, 可以学习J2EE了么?”.于是就有了写这篇文章的想法,希望能帮助初学者少走一些弯路。也算是对自己几年来学习Java的一个总结吧.
在开始之前有必要再讨论一下J2ME, ......
转自:http://www.softhouse.com.cn/news/show/104219.html
Java平台上进行多线程编程的缺陷
Java 语言的并发编程
就其自身来说,并发编程是一种技术,提供了操作的同时执行,不论是在单一系统上还是分布在大量系统上。这类操作实际是一些指令顺序,例如单独某个顶级任务的子任务,这类操 ......