递归是编程技术中常用的一种技术,就是方法是支持自己调用自己,在面对过程编程中已经有了递归的接触,像斐波那契序列的求解等这些都是可以用递归来解决的。java方法是支持嵌套调用方法不支持嵌套定义。
使用递归需要注意以下几点:1 递归需要一个基值情况,其意思是导致递归的返回而没有再一次递归调用。2 第一个递归都需要有终止条件。以防止无限递归下去,可能由此引发程序崩溃。以上两点是在递归调用中特别需要注意的两个环节。
使用的递归的情况很多,比如说数学归纳法,数列求和等。接下来使用递归实现单词的全排列。任意给一个单词,输出所有该单词的字母组合。例如输入一个单词有5个字符,那么全排列一共有5*4*3*2*1=120种排列组合。这个可以用递归来实现。
通常如果按照比较直接的想法就是采用分步乘法原理来实现单词全排列。采用for循环方式:例如用户输入四个字符长度的单词,输出所有该单词的字符全排列组合。
public class WholeShowWordNotRecursiveApp {
/**
* @param args
*/
public static void main(String[] args) {
WholeShowWorldNotRecursive a=new WholeShowWorldNotRecursive();
}
}
class WholeShowWorldNotRecursive
{
private char[] arr=new char[100];
private int size=0;
private String s=