java 全排列算法
import java.util.Arrays;
/**
* 求一个数组的全排列算法
* @author Administrator
*/
public class Pai {
public void pai(char[] array,int start,int end){
System.out.println(" -- 组合 "+start+" 到 "+end+" --");
if(start==end){
System.out.println(array);
}else{
for(int i=start; i<end; i++){
swap(array,start,i);
pai(array,start+1,end);
swap(array,start,i);
}
}
}
public void swap(char[] array,int i,int k){
//System.out.println(Arrays.toString(array) +" "+ i +" <--> "+k);
System.out.println("交换 "+ i +" 到 "+k);
char temp = array[i];
array[i] = array[k];
array[k] = temp;
}
public static void main(String[] args) {
String str = "1234";
Pai t = new Pai();
char[] array = str.toCharArray();
t.pai(array,0,array.length);
}
}
相关文档:
在Java语言中,一般不需要自定义equals()和hashCode()这两个方法,当需要对对象的内容进行比较的时候,才需要这样两个方法。例如,需要把对象放入HashSet或者把对象作为key放入HashMap、 Hashtable时,如果不想把具有相同内容的两个对象作为两个对象来看待,就需要重定义这两个方法。这两个方法的使用是 ......
今日读到csdn的新闻《欲为Java技术大牛所需的25个学习要点》,了解要做一个Java技术大牛可不是一般一般的,特收录在此:以鞭策自己不断学习:
1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。
2. 你需要学习Java语言 ......
Java™ 本机接口(Java Native Interface,JNI)是一个标准的 Java API,它支持将 Java 代码与使用其他编程语言编写的代码相集成。如果您希望利用已有的代码资源,那么可以使用 JNI 作为您工具包中的关键组件 —— 比如在面向服务架构(SOA)和基于云的系统中。但是,如果在使用时未注意某些事项,则 ......
Java第三方library ecosystem是一个很广阔的范畴。不久前有人撰文:每个项目中,你必须知道的11个Java第三方类库。
单元测试
1.DBUnit
DBunit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装。
2.MOckito
Mockito是一个针对Java的mocking框架。你可以使用简洁的API编写出 ......
java exception 解决方案 - 我的异常网|异常|exception 791 - java.lang.NoSuchMethodError 792 - RuntimeException 793 - org.hibernate.exception.SQLGrammarException 794 - Internal Error 795 - 自定义异常 796 - org.dom4j.DocumentException 797 - java.net.SocketException 798 - Exception对象 799 - SQLE ......