「java区域递归」Java方法递归

博主:adminadmin 2022-12-30 20:24:08 91

本篇文章给大家谈谈java区域递归,以及Java方法递归对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java递归问题

用map,key就是你的a1,a2,a3,value就是你的值

递归写的时候就可以取key和value了

java递归方法

一般递归只实现一个方向的逻辑,把两个方向的逻辑放到一方法里并不好,不容易控制,实现也很麻烦,考虑到维护时的难度请不要在实际项目中使用。

搞了好一会,搞出个这样的输出2N-1行星号,中间最长的一行不重复,如果楼主希望重复中间一行,可以对代码做一点点改动。

/**

* 入口,传入N

*/

public static void printStar(int number){

printStar2(number, number, 1);

}

/**

*

* @param number 给定的N

* @param oldNumber 给定的N

* @param direction 递归时的方向

*/

public static void printStar2(int number,int oldNumber, int direction){

if(number==0)direction++;

String s="";

int i = number;

if(direction==1){

for(;ioldNumber;i++){

s+="*";

}

number--;

}else{

for(;ioldNumber;i++){

s+="*";

}

number++;

if(numberoldNumber){

return;

}

}

printStar2(number,oldNumber,direction);

System.out.println(s);

}

-----------------------------------------------------------------------------------------

运行效果:

printStar(5);

*

**

***

****

*****

****

***

**

*

java 递归问题

(1) 递归就是在过程或函数里调用自身;

(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。

递归算法一般用于解决三类问题:

(1)数据的定义是按递归定义的。(Fibonacci函数)

(2)问题解法按递归算法实现。(回溯)

(3)数据的结构形式是按递归定义的。

下面这个例子以递归的方法计算n的阶乘。

public class Test {

public static int factorial(int n){

if(n == 0){

return 1;

}else{

return n * factorial(n-1);

}

}

public static void main(String[] args) {

System.out.println(factorial(3));

}

}

「java区域递归」Java方法递归

JAVA递归问题

实际上递归只需要将迭代中字符添加的顺序颠倒过来就可以了,具体代码如下:

import java.lang.String;

import java.util.Scanner;

public class Exos8{

public String numCal(int a, int n){

if(n==1){

return Integer.toString(a,10);

}else{

if(a10){

return Integer.toString(a%10) + this.numCal(a+1,n-1);

}else{

a = a/10;

return Integer.toString(a%10) + this.numCal(a+1,n-1);

}

}

}

public static void main(String[] args){

String result = "";

Exos8 exo = new Exos8();

System.out.println("请输入一个1到9之间的数:");

Scanner sc = new Scanner(System.in);

int a = sc.nextInt();

System.out.println("请输入循环次数:");

int n = sc.nextInt();

System.out.println("结果为:"+exo.numCal(a,n));

}

}

这个方法可以得到长度不仅限于10位以内的数字(字符串)。

关于java区域递归和Java方法递归的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。