首页 电脑教程 电脑知识 不熟悉Java递归方法的代码

不熟悉Java递归方法的代码

Jan 13, 2024 pm 07:48 PM

不熟悉Java递归方法的代码

不熟悉Java递归方法的代码

这也是个循环的方法 初学者可能难看懂...我解释一下

例如 那个fun()方法里面的参数是100吧 我把它改一下 改成2好吧

这个递归方法的目的是累加,和循环累加的结果相同,只是执行方式不同。

程序执行的过程如下:

当你传2进去时. 程序会执行else里面的内容

也就是return temp+fun(temp-1);

实际是返回的是:2+fun(2-1);

也就是: 2+fun(1) 把原来的那个参数3改为了2;

我开始说了吧 这是个累加的程序 所以把3提出来赋给 前面定义好的sum 所以现在的sum=2;

因为这是个递归的方法 所以接下来又要重复执行这个fun(int temp)方法 ;

只是现在的参数变成了1

所以 接下来程序会这样走 :

因为参数是1 所以会进入到if里面

所以会返回1;

所以现在的sum就应该是之前的sum加上现在的fun(1)返回的1

so.....now sum就应是:2+1=3;

我只是举了其中的两个数之间的循环 其他的98个数之间的循环也是这样的

总之递归就是一直调用自己 直到不能满足条件时就不会调用自己了

你看看吧 可能有点多 我想解释的更加清楚一点 之前我也遇到过 不过我没问过别人 没看懂或者是不懂的再问我.....

Java递归算法高收请进!用递归实现

作的挺好看的阿,能做出这样水准的界面,这个小问题应该难不到你吧。

这里的问题是:

1. 设计这个图的结构,最简单的就是用数组了。

2. 怎么枚举相连的节点。简单的说就是判断左上、右上、左、右、左下、右下的问题。

3. 怎么依次判断颜色相同问题,最简单的算法是淹没法。就是从上面6个方向开始找,找到下一个点后,就在从6个方向开始找。。。

大概的代码如下:

class Rabbit

{

final int D_UP_LEFT = 1 ;

final int D_UP_RIGHT = 2 ;

final int D_LEFT = 3 ;

final int D_RIGHT = 4 ;

final int D_DOWN_LEFT = 5 ;

final int D_DOWN_RIGHT = 6 ;

getColor () ;

getCloseRibbit (int direction)

{

... // 这里实现获取相邻指定方向兔子的函数

// 如果没有返回null .

}

int getColor () {}

List checkColor ()

{

ArrayList list = new ArrayList () ;

doCheckColor (list, this) ;

return list ;

}

void doCheckColor (List list, Rabbit r)

{

if (r.getColor () != this.getColor () || list.contains (r))

return ;

list.add (this) ;

for (int i = D_UP_LEFT ; i

{

Rabbit next = r.getCloseRibbit (i) ;

if (next != null)

next.doCheckColor (list, r) ;

}

}

}

结果的list就是你要的相同颜色的小兔子。

JAVA如何使用递归方法实现从1到m中取nn

使用数组的递归:

public class Test12 {

static int M = 4;

static int N = 3;

static int[] a= new int[]{1,2,3,4};

static int[] b = new int[N];

public static void main(String[] args){

C(M,N);

}

static void C(int m,int n){

int i,j;

for(i=n;i

b[n-1] = i-1;

if(n>1)

C(i-1,n-1);

else {

for(j=0;j

System.out.print(a[b[j]] + " ");

System.out.println();

}

}

}

}

输出:

1 2 3

1 2 4

1 3 4

2 3 4

java实现递归运算n!输入n如果不是整型提示重新输

java 实现递归运算n!,输入n,如果不是整型,提示重新输...

port java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Test {

public int jiecheng(int num) {// 递归阶乘

if (num > 1)

return num * jiecheng(num - 1);

else if (num == 1)

return 1;

else

return 0;

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);// 从键盘获取输入

String num = "";

Pattern p = Pattern.compile("\d+");// 正则表达式,匹配(1到N位)整数

Matcher m = null;

int k = 0;

while (true) {

System.out.print("请输入一个整数:");

num = sc.nextLine();// 获取一行输入

m = p.matcher(num);

if (m.matches()) {

k = Integer.valueOf(num);// 字符串转整数

break;

} else

System.out.println("不是整数,请重新输入!");

System.out.println();

}

System.out.println(new Test().jiecheng(k));// 调用阶乘的方法

}

}

喜居宝地千年旺 福照家门万事兴 喜迎新春

以上是不熟悉Java递归方法的代码的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何修复蒸汽云错误?尝试这些方法 如何修复蒸汽云错误?尝试这些方法 Apr 04, 2025 am 01:51 AM

蒸汽云错误可能是由于许多原因引起的。要顺利玩游戏,您需要采取一些措施来删除此错误,然后才能启动游戏。 PHP.CN软件在这篇文章中介绍了一些最佳方法以及更多有用的信息。

Windows元数据和Internet服务问题:如何解决? Windows元数据和Internet服务问题:如何解决? Apr 02, 2025 pm 03:57 PM

您可能会看到“无法建立与Windows Metadata和Internet Services(WMI)的连接”。事件查看器的错误。 PHP.CN的这篇文章介绍了如何删除Windows元数据和Internet服务问题。

如何解决KB5035942更新问题 - 崩溃系统 如何解决KB5035942更新问题 - 崩溃系统 Apr 02, 2025 pm 04:16 PM

KB5035942更新问题 - 用户通常发生崩溃系统。受到的人们希望找到摆脱困境的出路,例如崩溃系统,安装或声音问题。针对这些情况,这篇文章由Php.cn Wil发表

修复 -  OneDrive不在PC上上传照片 修复 - OneDrive不在PC上上传照片 Apr 02, 2025 pm 04:04 PM

OneDrive是Microsoft的在线云存储服务。有时,您可能会发现OneDrive无法将照片上传到云。如果您在同一条船上,请继续阅读PHP.CN软件的帖子,以获取有效的解决方案!

删除PC App Store恶意软件 - 适合您的完整指南! 删除PC App Store恶意软件 - 适合您的完整指南! Apr 04, 2025 am 01:41 AM

如果您在计算机上有一个名为PC App Store的程序,并且没有故意安装它,则可能会感染恶意软件。 PHP.CN的这篇文章介绍了如何删除PC App Store恶意软件。

修复:兄弟:两个儿子重制的故事不推出/加载 修复:兄弟:两个儿子重制的故事不推出/加载 Apr 02, 2025 am 02:40 AM

兄弟是:两个儿子重制的故事没有发起吗?遇到兄弟:两个儿子重制黑屏的故事?在这里,有关PHP.CN的这篇文章为您提供了测试的解决方案,以帮助您解决此问题。

如何使用Chris Titus工具创建Debloated Win11/10 ISO 如何使用Chris Titus工具创建Debloated Win11/10 ISO Apr 01, 2025 am 03:15 AM

Chris Titus Tech具有称为Windows实用程序的工具,可以帮助您轻松地创建Debloated Windows 11/10 ISO安装干净的系统。 PHP.CN提供了有关如何使用Chris Titus工具完成此操作的完整指南。

MSCONFIG不断恢复为选择性启动吗? 2个解决方案 MSCONFIG不断恢复为选择性启动吗? 2个解决方案 Mar 28, 2025 pm 12:06 PM

您是否质疑Msconfig不断恢复到窗口上的选择性启动的问题?如果需要,如何切换到普通启动?尝试在此php.cn帖子中解释的方法,以找到适合您的方法。

See all articles